@lodestar/api 1.20.0-dev.c1532773c2 → 1.20.0-dev.f20ec4efe8
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 +33 -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 +277 -168
- package/lib/beacon/routes/beacon/block.js +308 -117
- 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 +22 -104
- package/lib/beacon/routes/debug.js +53 -45
- package/lib/beacon/routes/debug.js.map +1 -1
- package/lib/beacon/routes/events.d.ts +24 -20
- package/lib/beacon/routes/events.js +40 -18
- 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 +34 -56
- package/lib/beacon/routes/lightclient.js +108 -48
- 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 +524 -325
- package/lib/beacon/routes/validator.js +468 -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 +25 -39
- package/lib/builder/routes.js +78 -34
- 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 +36 -0
- package/lib/utils/client/response.js +167 -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 +7 -0
- package/lib/utils/fork.js +29 -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 +115 -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,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { ExecutionOptimistic } from "./beacon/block.js";
|
|
1
|
+
import { ContainerType, Type, ValueOf } from "@chainsafe/ssz";
|
|
2
|
+
import { ChainForkConfig } from "@lodestar/config";
|
|
3
|
+
import { altair, BLSSignature, CommitteeIndex, Epoch, phase0, Root, Slot, UintBn64, ValidatorIndex, ProducedBlockSource, BeaconBlockOrContents, BlindedBeaconBlock } from "@lodestar/types";
|
|
4
|
+
import { Endpoint, RouteDefinitions } from "../../utils/index.js";
|
|
5
|
+
import { EmptyMeta, EmptyResponseData } from "../../utils/codecs.js";
|
|
6
|
+
import { ExecutionOptimisticAndDependentRootMeta, ExecutionOptimisticMeta, VersionMeta } from "../../utils/metadata.js";
|
|
8
7
|
export declare enum BuilderSelection {
|
|
9
8
|
Default = "default",
|
|
10
9
|
BuilderAlways = "builderalways",
|
|
@@ -15,113 +14,388 @@ export declare enum BuilderSelection {
|
|
|
15
14
|
/** Only builds execution block*/
|
|
16
15
|
ExecutionOnly = "executiononly"
|
|
17
16
|
}
|
|
18
|
-
|
|
17
|
+
/** Lodestar-specific (non-standardized) options */
|
|
18
|
+
export type ExtraProduceBlockOpts = {
|
|
19
19
|
feeRecipient?: string;
|
|
20
20
|
builderSelection?: BuilderSelection;
|
|
21
|
-
builderBoostFactor?: UintBn64;
|
|
22
21
|
strictFeeRecipientCheck?: boolean;
|
|
23
22
|
blindedLocal?: boolean;
|
|
24
23
|
};
|
|
25
|
-
export
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
executionPayloadValue: Wei;
|
|
37
|
-
consensusBlockValue: Wei;
|
|
38
|
-
} & {
|
|
39
|
-
data: allForks.BlindedBeaconBlock;
|
|
40
|
-
version: ForkExecution;
|
|
41
|
-
};
|
|
42
|
-
export type ProduceFullOrBlindedBlockOrContentsRes = {
|
|
24
|
+
export declare const ProduceBlockV3MetaType: ContainerType<{
|
|
25
|
+
/** Specifies whether the response contains full or blinded block */
|
|
26
|
+
executionPayloadBlinded: import("@chainsafe/ssz").BooleanType;
|
|
27
|
+
/** Execution payload value in Wei */
|
|
28
|
+
executionPayloadValue: import("@chainsafe/ssz").UintBigintType;
|
|
29
|
+
/** Consensus rewards paid to the proposer for this block, in Wei */
|
|
30
|
+
consensusBlockValue: import("@chainsafe/ssz").UintBigintType;
|
|
31
|
+
version: import("@lodestar/types").StringType<import("@lodestar/params").ForkName>;
|
|
32
|
+
}>;
|
|
33
|
+
export type ProduceBlockV3Meta = ValueOf<typeof ProduceBlockV3MetaType> & {
|
|
34
|
+
/** Lodestar-specific (non-standardized) value */
|
|
43
35
|
executionPayloadSource: ProducedBlockSource;
|
|
44
|
-
} & ((ProduceBlockOrContentsRes & {
|
|
45
|
-
executionPayloadBlinded: false;
|
|
46
|
-
}) | (ProduceBlindedBlockRes & {
|
|
47
|
-
executionPayloadBlinded: true;
|
|
48
|
-
}));
|
|
49
|
-
export type BeaconCommitteeSubscription = {
|
|
50
|
-
validatorIndex: ValidatorIndex;
|
|
51
|
-
committeeIndex: number;
|
|
52
|
-
committeesAtSlot: number;
|
|
53
|
-
slot: Slot;
|
|
54
|
-
isAggregator: boolean;
|
|
55
|
-
};
|
|
56
|
-
/**
|
|
57
|
-
* From https://github.com/ethereum/beacon-APIs/pull/136
|
|
58
|
-
*/
|
|
59
|
-
export type SyncCommitteeSubscription = {
|
|
60
|
-
validatorIndex: ValidatorIndex;
|
|
61
|
-
syncCommitteeIndices: number[];
|
|
62
|
-
untilEpoch: Epoch;
|
|
63
|
-
};
|
|
64
|
-
/**
|
|
65
|
-
* The types used here are string instead of ssz based because the use of proposer data
|
|
66
|
-
* is just validator --> beacon json api call for `beaconProposerCache` cache update.
|
|
67
|
-
*/
|
|
68
|
-
export type ProposerPreparationData = {
|
|
69
|
-
validatorIndex: string;
|
|
70
|
-
feeRecipient: string;
|
|
71
|
-
};
|
|
72
|
-
export type ProposerDuty = {
|
|
73
|
-
slot: Slot;
|
|
74
|
-
validatorIndex: ValidatorIndex;
|
|
75
|
-
pubkey: BLSPubkey;
|
|
76
|
-
};
|
|
77
|
-
export type AttesterDuty = {
|
|
78
|
-
pubkey: BLSPubkey;
|
|
79
|
-
validatorIndex: ValidatorIndex;
|
|
80
|
-
committeeIndex: CommitteeIndex;
|
|
81
|
-
committeeLength: UintNum64;
|
|
82
|
-
committeesAtSlot: UintNum64;
|
|
83
|
-
validatorCommitteeIndex: UintNum64;
|
|
84
|
-
slot: Slot;
|
|
85
36
|
};
|
|
37
|
+
export declare const BlockContentsType: ContainerType<{
|
|
38
|
+
block: ContainerType<{
|
|
39
|
+
body: ContainerType<{
|
|
40
|
+
executionPayload: ContainerType<{
|
|
41
|
+
blobGasUsed: import("@chainsafe/ssz").UintBigintType;
|
|
42
|
+
excessBlobGas: import("@chainsafe/ssz").UintBigintType;
|
|
43
|
+
withdrawals: import("@chainsafe/ssz").ListCompositeType<ContainerType<{
|
|
44
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
45
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
46
|
+
address: import("@lodestar/types/lib/utils/executionAddress.js").ExecutionAddressType;
|
|
47
|
+
amount: import("@chainsafe/ssz").UintBigintType;
|
|
48
|
+
}>>;
|
|
49
|
+
transactions: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteListType>;
|
|
50
|
+
parentHash: import("@chainsafe/ssz").ByteVectorType;
|
|
51
|
+
feeRecipient: import("@lodestar/types/lib/utils/executionAddress.js").ExecutionAddressType;
|
|
52
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
53
|
+
receiptsRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
54
|
+
logsBloom: import("@chainsafe/ssz").ByteVectorType;
|
|
55
|
+
prevRandao: import("@chainsafe/ssz").ByteVectorType;
|
|
56
|
+
blockNumber: import("@chainsafe/ssz").UintNumberType;
|
|
57
|
+
gasLimit: import("@chainsafe/ssz").UintNumberType;
|
|
58
|
+
gasUsed: import("@chainsafe/ssz").UintNumberType;
|
|
59
|
+
timestamp: import("@chainsafe/ssz").UintNumberType;
|
|
60
|
+
extraData: import("@chainsafe/ssz").ByteListType;
|
|
61
|
+
baseFeePerGas: import("@chainsafe/ssz").UintBigintType;
|
|
62
|
+
blockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
63
|
+
}>;
|
|
64
|
+
blsToExecutionChanges: import("@chainsafe/ssz").ListCompositeType<ContainerType<{
|
|
65
|
+
message: ContainerType<{
|
|
66
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
67
|
+
fromBlsPubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
68
|
+
toExecutionAddress: import("@lodestar/types/lib/utils/executionAddress.js").ExecutionAddressType;
|
|
69
|
+
}>;
|
|
70
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
71
|
+
}>>;
|
|
72
|
+
blobKzgCommitments: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
73
|
+
syncAggregate: ContainerType<{
|
|
74
|
+
syncCommitteeBits: import("@chainsafe/ssz").BitVectorType;
|
|
75
|
+
syncCommitteeSignature: import("@chainsafe/ssz").ByteVectorType;
|
|
76
|
+
}>;
|
|
77
|
+
randaoReveal: import("@chainsafe/ssz").ByteVectorType;
|
|
78
|
+
eth1Data: ContainerType<{
|
|
79
|
+
depositRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
80
|
+
depositCount: import("@chainsafe/ssz").UintNumberType;
|
|
81
|
+
blockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
82
|
+
}>;
|
|
83
|
+
graffiti: import("@chainsafe/ssz").ByteVectorType;
|
|
84
|
+
proposerSlashings: import("@chainsafe/ssz").ListCompositeType<ContainerType<{
|
|
85
|
+
signedHeader1: ContainerType<{
|
|
86
|
+
message: ContainerType<{
|
|
87
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
88
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
89
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
90
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
91
|
+
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
92
|
+
}>;
|
|
93
|
+
signature: import("@chainsafe/ssz").ByteVectorType; /** The slot for which the block should be proposed */
|
|
94
|
+
}>;
|
|
95
|
+
signedHeader2: ContainerType<{
|
|
96
|
+
message: ContainerType<{
|
|
97
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
98
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
99
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
100
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
101
|
+
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
102
|
+
}>;
|
|
103
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
104
|
+
}>;
|
|
105
|
+
}>>;
|
|
106
|
+
attesterSlashings: import("@chainsafe/ssz").ListCompositeType<ContainerType<{
|
|
107
|
+
attestation1: ContainerType<{
|
|
108
|
+
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
109
|
+
data: ContainerType<{
|
|
110
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
111
|
+
index: import("@chainsafe/ssz").UintBigintType;
|
|
112
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
113
|
+
source: ContainerType<{
|
|
114
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
115
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
116
|
+
}>;
|
|
117
|
+
target: ContainerType<{
|
|
118
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
119
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
120
|
+
}>;
|
|
121
|
+
}>;
|
|
122
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
123
|
+
}>;
|
|
124
|
+
attestation2: ContainerType<{
|
|
125
|
+
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
126
|
+
data: ContainerType<{
|
|
127
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
128
|
+
index: import("@chainsafe/ssz").UintBigintType;
|
|
129
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
130
|
+
source: ContainerType<{
|
|
131
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
132
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
133
|
+
}>;
|
|
134
|
+
target: ContainerType<{
|
|
135
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
136
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
137
|
+
}>;
|
|
138
|
+
}>;
|
|
139
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
140
|
+
}>;
|
|
141
|
+
}>>;
|
|
142
|
+
attestations: import("@chainsafe/ssz").ListCompositeType<ContainerType<{
|
|
143
|
+
aggregationBits: import("@chainsafe/ssz").BitListType;
|
|
144
|
+
data: ContainerType<{
|
|
145
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
146
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
147
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
148
|
+
source: ContainerType<{
|
|
149
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
150
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
151
|
+
}>;
|
|
152
|
+
target: ContainerType<{
|
|
153
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
154
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
155
|
+
}>;
|
|
156
|
+
}>;
|
|
157
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
158
|
+
}>>;
|
|
159
|
+
deposits: import("@chainsafe/ssz").ListCompositeType<ContainerType<{
|
|
160
|
+
proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
161
|
+
data: ContainerType<{
|
|
162
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
163
|
+
withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
|
|
164
|
+
amount: import("@chainsafe/ssz").UintNumberType;
|
|
165
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
166
|
+
}>;
|
|
167
|
+
}>>;
|
|
168
|
+
voluntaryExits: import("@chainsafe/ssz").ListCompositeType<ContainerType<{
|
|
169
|
+
message: ContainerType<{
|
|
170
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
171
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
172
|
+
}>;
|
|
173
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
174
|
+
}>>;
|
|
175
|
+
}>;
|
|
176
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
177
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
178
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
179
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
180
|
+
}>;
|
|
181
|
+
kzgProofs: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
182
|
+
blobs: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
183
|
+
}>;
|
|
184
|
+
export declare const AttesterDutyType: ContainerType<{
|
|
185
|
+
/** The validator's public key, uniquely identifying them */
|
|
186
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
187
|
+
/** Index of validator in validator registry */
|
|
188
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
189
|
+
/** Index of the committee */
|
|
190
|
+
committeeIndex: import("@chainsafe/ssz").UintNumberType;
|
|
191
|
+
/** Number of validators in committee */
|
|
192
|
+
committeeLength: import("@chainsafe/ssz").UintNumberType;
|
|
193
|
+
/** Number of committees at the provided slot */
|
|
194
|
+
committeesAtSlot: import("@chainsafe/ssz").UintNumberType;
|
|
195
|
+
/** Index of validator in committee */
|
|
196
|
+
validatorCommitteeIndex: import("@chainsafe/ssz").UintNumberType;
|
|
197
|
+
/** The slot at which the validator must attest */
|
|
198
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
199
|
+
}>;
|
|
200
|
+
export declare const ProposerDutyType: ContainerType<{
|
|
201
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
202
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
203
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
204
|
+
}>;
|
|
86
205
|
/**
|
|
87
206
|
* From https://github.com/ethereum/beacon-APIs/pull/134
|
|
88
207
|
*/
|
|
89
|
-
export
|
|
90
|
-
pubkey:
|
|
208
|
+
export declare const SyncDutyType: ContainerType<{
|
|
209
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
91
210
|
/** Index of validator in validator registry. */
|
|
92
|
-
validatorIndex:
|
|
211
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
93
212
|
/** The indices of the validator in the sync committee. */
|
|
94
|
-
validatorSyncCommitteeIndices: number
|
|
95
|
-
}
|
|
213
|
+
validatorSyncCommitteeIndices: import("@chainsafe/ssz").ArrayType<Type<number>, unknown, unknown>;
|
|
214
|
+
}>;
|
|
215
|
+
export declare const BeaconCommitteeSubscriptionType: ContainerType<{
|
|
216
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
217
|
+
committeeIndex: import("@chainsafe/ssz").UintNumberType;
|
|
218
|
+
committeesAtSlot: import("@chainsafe/ssz").UintNumberType;
|
|
219
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
220
|
+
isAggregator: import("@chainsafe/ssz").BooleanType;
|
|
221
|
+
}>;
|
|
222
|
+
/**
|
|
223
|
+
* From https://github.com/ethereum/beacon-APIs/pull/136
|
|
224
|
+
*/
|
|
225
|
+
export declare const SyncCommitteeSubscriptionType: ContainerType<{
|
|
226
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
227
|
+
syncCommitteeIndices: import("@chainsafe/ssz").ArrayType<Type<number>, unknown, unknown>;
|
|
228
|
+
untilEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
229
|
+
}>;
|
|
230
|
+
export declare const ProposerPreparationDataType: ContainerType<{
|
|
231
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
232
|
+
feeRecipient: import("@lodestar/types").StringType<string>;
|
|
233
|
+
}>;
|
|
96
234
|
/**
|
|
97
235
|
* From https://github.com/ethereum/beacon-APIs/pull/224
|
|
98
236
|
*/
|
|
99
|
-
export
|
|
237
|
+
export declare const BeaconCommitteeSelectionType: ContainerType<{
|
|
100
238
|
/** Index of the validator */
|
|
101
|
-
validatorIndex:
|
|
239
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
102
240
|
/** The slot at which a validator is assigned to attest */
|
|
103
|
-
slot:
|
|
241
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
104
242
|
/** The `slot_signature` calculated by the validator for the upcoming attestation slot */
|
|
105
|
-
selectionProof:
|
|
106
|
-
}
|
|
243
|
+
selectionProof: import("@chainsafe/ssz").ByteVectorType;
|
|
244
|
+
}>;
|
|
107
245
|
/**
|
|
108
246
|
* From https://github.com/ethereum/beacon-APIs/pull/224
|
|
109
247
|
*/
|
|
110
|
-
export
|
|
248
|
+
export declare const SyncCommitteeSelectionType: ContainerType<{
|
|
111
249
|
/** Index of the validator */
|
|
112
|
-
validatorIndex:
|
|
250
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
113
251
|
/** The slot at which validator is assigned to produce a sync committee contribution */
|
|
114
|
-
slot:
|
|
252
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
115
253
|
/** SubcommitteeIndex to which the validator is assigned */
|
|
116
|
-
subcommitteeIndex:
|
|
254
|
+
subcommitteeIndex: import("@chainsafe/ssz").UintNumberType;
|
|
117
255
|
/** The `slot_signature` calculated by the validator for the upcoming sync committee slot */
|
|
118
|
-
selectionProof:
|
|
119
|
-
}
|
|
120
|
-
export
|
|
121
|
-
index:
|
|
122
|
-
isLive:
|
|
123
|
-
}
|
|
124
|
-
export
|
|
256
|
+
selectionProof: import("@chainsafe/ssz").ByteVectorType;
|
|
257
|
+
}>;
|
|
258
|
+
export declare const LivenessResponseDataType: ContainerType<{
|
|
259
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
260
|
+
isLive: import("@chainsafe/ssz").BooleanType;
|
|
261
|
+
}>;
|
|
262
|
+
export declare const ValidatorIndicesType: import("@chainsafe/ssz").ArrayType<Type<number>, unknown, unknown>;
|
|
263
|
+
export declare const AttesterDutyListType: import("@chainsafe/ssz").ArrayType<Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
264
|
+
/** The validator's public key, uniquely identifying them */
|
|
265
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
266
|
+
/** Index of validator in validator registry */
|
|
267
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
268
|
+
/** Index of the committee */
|
|
269
|
+
committeeIndex: import("@chainsafe/ssz").UintNumberType;
|
|
270
|
+
/** Number of validators in committee */
|
|
271
|
+
committeeLength: import("@chainsafe/ssz").UintNumberType;
|
|
272
|
+
/** Number of committees at the provided slot */
|
|
273
|
+
committeesAtSlot: import("@chainsafe/ssz").UintNumberType;
|
|
274
|
+
/** Index of validator in committee */
|
|
275
|
+
validatorCommitteeIndex: import("@chainsafe/ssz").UintNumberType;
|
|
276
|
+
/** The slot at which the validator must attest */
|
|
277
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
278
|
+
}>>, unknown, unknown>;
|
|
279
|
+
export declare const ProposerDutyListType: import("@chainsafe/ssz").ArrayType<Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
280
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
281
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
282
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
283
|
+
}>>, unknown, unknown>;
|
|
284
|
+
export declare const SyncDutyListType: import("@chainsafe/ssz").ArrayType<Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
285
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
286
|
+
/** Index of validator in validator registry. */
|
|
287
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
288
|
+
/** The indices of the validator in the sync committee. */
|
|
289
|
+
validatorSyncCommitteeIndices: import("@chainsafe/ssz").ArrayType<Type<number>, unknown, unknown>;
|
|
290
|
+
}>>, unknown, unknown>;
|
|
291
|
+
export declare const SignedAggregateAndProofListType: import("@chainsafe/ssz").ArrayType<Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
292
|
+
message: ContainerType<{
|
|
293
|
+
aggregatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
294
|
+
aggregate: ContainerType<{
|
|
295
|
+
aggregationBits: import("@chainsafe/ssz").BitListType;
|
|
296
|
+
data: ContainerType<{
|
|
297
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
298
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
299
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
300
|
+
source: ContainerType<{
|
|
301
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
302
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
303
|
+
}>;
|
|
304
|
+
target: ContainerType<{
|
|
305
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
306
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
307
|
+
}>;
|
|
308
|
+
}>;
|
|
309
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
310
|
+
}>;
|
|
311
|
+
selectionProof: import("@chainsafe/ssz").ByteVectorType;
|
|
312
|
+
}>;
|
|
313
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
314
|
+
}>>, unknown, unknown>;
|
|
315
|
+
export declare const SignedContributionAndProofListType: import("@chainsafe/ssz").ArrayType<Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
316
|
+
message: ContainerType<{
|
|
317
|
+
aggregatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
318
|
+
contribution: ContainerType<{
|
|
319
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
320
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
321
|
+
subcommitteeIndex: import("@chainsafe/ssz").UintNumberType;
|
|
322
|
+
aggregationBits: import("@chainsafe/ssz").BitVectorType;
|
|
323
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
324
|
+
}>;
|
|
325
|
+
selectionProof: import("@chainsafe/ssz").ByteVectorType;
|
|
326
|
+
}>; /** Lodestar-specific (non-standardized) value */
|
|
327
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
328
|
+
}>>, unknown, unknown>;
|
|
329
|
+
export declare const BeaconCommitteeSubscriptionListType: import("@chainsafe/ssz").ArrayType<Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
330
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
331
|
+
committeeIndex: import("@chainsafe/ssz").UintNumberType;
|
|
332
|
+
committeesAtSlot: import("@chainsafe/ssz").UintNumberType;
|
|
333
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
334
|
+
isAggregator: import("@chainsafe/ssz").BooleanType;
|
|
335
|
+
}>>, unknown, unknown>;
|
|
336
|
+
export declare const SyncCommitteeSubscriptionListType: import("@chainsafe/ssz").ArrayType<Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
337
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
338
|
+
syncCommitteeIndices: import("@chainsafe/ssz").ArrayType<Type<number>, unknown, unknown>;
|
|
339
|
+
untilEpoch: import("@chainsafe/ssz").UintNumberType;
|
|
340
|
+
}>>, unknown, unknown>;
|
|
341
|
+
export declare const ProposerPreparationDataListType: import("@chainsafe/ssz").ArrayType<Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
342
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
343
|
+
feeRecipient: import("@lodestar/types").StringType<string>;
|
|
344
|
+
}>>, unknown, unknown>;
|
|
345
|
+
export declare const BeaconCommitteeSelectionListType: import("@chainsafe/ssz").ArrayType<Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
346
|
+
/** Index of the validator */
|
|
347
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
348
|
+
/** The slot at which a validator is assigned to attest */
|
|
349
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
350
|
+
/** The `slot_signature` calculated by the validator for the upcoming attestation slot */
|
|
351
|
+
selectionProof: import("@chainsafe/ssz").ByteVectorType;
|
|
352
|
+
}>>, unknown, unknown>;
|
|
353
|
+
export declare const SyncCommitteeSelectionListType: import("@chainsafe/ssz").ArrayType<Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
354
|
+
/** Index of the validator */
|
|
355
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
356
|
+
/** The slot at which validator is assigned to produce a sync committee contribution */
|
|
357
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
358
|
+
/** SubcommitteeIndex to which the validator is assigned */
|
|
359
|
+
subcommitteeIndex: import("@chainsafe/ssz").UintNumberType;
|
|
360
|
+
/** The `slot_signature` calculated by the validator for the upcoming sync committee slot */
|
|
361
|
+
selectionProof: import("@chainsafe/ssz").ByteVectorType;
|
|
362
|
+
}>>, unknown, unknown>;
|
|
363
|
+
export declare const LivenessResponseDataListType: import("@chainsafe/ssz").ArrayType<Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
364
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
365
|
+
isLive: import("@chainsafe/ssz").BooleanType;
|
|
366
|
+
}>>, unknown, unknown>;
|
|
367
|
+
export declare const SignedValidatorRegistrationV1ListType: import("@chainsafe/ssz").ArrayType<Type<import("@chainsafe/ssz").ValueOfFields<{
|
|
368
|
+
message: ContainerType<{
|
|
369
|
+
feeRecipient: import("@lodestar/types/lib/utils/executionAddress.js").ExecutionAddressType;
|
|
370
|
+
gasLimit: import("@chainsafe/ssz").UintNumberType;
|
|
371
|
+
timestamp: import("@chainsafe/ssz").UintNumberType;
|
|
372
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
373
|
+
}>;
|
|
374
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
375
|
+
}>>, unknown, unknown>;
|
|
376
|
+
export type ValidatorIndices = ValueOf<typeof ValidatorIndicesType>;
|
|
377
|
+
export type AttesterDuty = ValueOf<typeof AttesterDutyType>;
|
|
378
|
+
export type AttesterDutyList = ValueOf<typeof AttesterDutyListType>;
|
|
379
|
+
export type ProposerDuty = ValueOf<typeof ProposerDutyType>;
|
|
380
|
+
export type ProposerDutyList = ValueOf<typeof ProposerDutyListType>;
|
|
381
|
+
export type SyncDuty = ValueOf<typeof SyncDutyType>;
|
|
382
|
+
export type SyncDutyList = ValueOf<typeof SyncDutyListType>;
|
|
383
|
+
export type SignedAggregateAndProofList = ValueOf<typeof SignedAggregateAndProofListType>;
|
|
384
|
+
export type SignedContributionAndProofList = ValueOf<typeof SignedContributionAndProofListType>;
|
|
385
|
+
export type BeaconCommitteeSubscription = ValueOf<typeof BeaconCommitteeSubscriptionType>;
|
|
386
|
+
export type BeaconCommitteeSubscriptionList = ValueOf<typeof BeaconCommitteeSubscriptionListType>;
|
|
387
|
+
export type SyncCommitteeSubscription = ValueOf<typeof SyncCommitteeSubscriptionType>;
|
|
388
|
+
export type SyncCommitteeSubscriptionList = ValueOf<typeof SyncCommitteeSubscriptionListType>;
|
|
389
|
+
export type ProposerPreparationData = ValueOf<typeof ProposerPreparationDataType>;
|
|
390
|
+
export type ProposerPreparationDataList = ValueOf<typeof ProposerPreparationDataListType>;
|
|
391
|
+
export type BeaconCommitteeSelection = ValueOf<typeof BeaconCommitteeSelectionType>;
|
|
392
|
+
export type BeaconCommitteeSelectionList = ValueOf<typeof BeaconCommitteeSelectionListType>;
|
|
393
|
+
export type SyncCommitteeSelection = ValueOf<typeof SyncCommitteeSelectionType>;
|
|
394
|
+
export type SyncCommitteeSelectionList = ValueOf<typeof SyncCommitteeSelectionListType>;
|
|
395
|
+
export type LivenessResponseData = ValueOf<typeof LivenessResponseDataType>;
|
|
396
|
+
export type LivenessResponseDataList = ValueOf<typeof LivenessResponseDataListType>;
|
|
397
|
+
export type SignedValidatorRegistrationV1List = ValueOf<typeof SignedValidatorRegistrationV1ListType>;
|
|
398
|
+
export type Endpoints = {
|
|
125
399
|
/**
|
|
126
400
|
* Get attester duties
|
|
127
401
|
* Requests the beacon node to provide a set of attestation duties, which should be performed by validators, for a particular epoch.
|
|
@@ -130,18 +404,18 @@ export type Api = {
|
|
|
130
404
|
* - event.current_duty_dependent_root when `compute_epoch_at_slot(event.slot) + 1 == epoch`
|
|
131
405
|
* - event.block otherwise
|
|
132
406
|
* The dependent_root value is `get_block_root_at_slot(state, compute_start_slot_at_epoch(epoch - 1) - 1)` or the genesis block root in the case of underflow.
|
|
133
|
-
* @param epoch Should only be allowed 1 epoch ahead
|
|
134
|
-
* @param requestBody An array of the validator indices for which to obtain the duties.
|
|
135
|
-
* @returns any Success response
|
|
136
|
-
* @throws ApiError
|
|
137
407
|
*/
|
|
138
|
-
getAttesterDuties
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
408
|
+
getAttesterDuties: Endpoint<"POST", {
|
|
409
|
+
/** Should only be allowed 1 epoch ahead */
|
|
410
|
+
epoch: Epoch;
|
|
411
|
+
/** An array of the validator indices for which to obtain the duties */
|
|
412
|
+
indices: ValidatorIndices;
|
|
413
|
+
}, {
|
|
414
|
+
params: {
|
|
415
|
+
epoch: Epoch;
|
|
143
416
|
};
|
|
144
|
-
|
|
417
|
+
body: unknown;
|
|
418
|
+
}, AttesterDutyList, ExecutionOptimisticAndDependentRootMeta>;
|
|
145
419
|
/**
|
|
146
420
|
* Get block proposers duties
|
|
147
421
|
* Request beacon node to provide all validators that are scheduled to propose a block in the given epoch.
|
|
@@ -149,110 +423,144 @@ export type Api = {
|
|
|
149
423
|
* - event.current_duty_dependent_root when `compute_epoch_at_slot(event.slot) == epoch`
|
|
150
424
|
* - event.block otherwise
|
|
151
425
|
* The dependent_root value is `get_block_root_at_slot(state, compute_start_slot_at_epoch(epoch) - 1)` or the genesis block root in the case of underflow.
|
|
152
|
-
* @param epoch
|
|
153
|
-
* @returns any Success response
|
|
154
|
-
* @throws ApiError
|
|
155
426
|
*/
|
|
156
|
-
getProposerDuties
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
};
|
|
162
|
-
}, HttpStatusCode.BAD_REQUEST | HttpStatusCode.SERVICE_UNAVAILABLE>>;
|
|
163
|
-
getSyncCommitteeDuties(epoch: number, validatorIndices: ValidatorIndex[]): Promise<ApiClientResponse<{
|
|
164
|
-
[HttpStatusCode.OK]: {
|
|
165
|
-
data: SyncDuty[];
|
|
166
|
-
executionOptimistic: ExecutionOptimistic;
|
|
427
|
+
getProposerDuties: Endpoint<"GET", {
|
|
428
|
+
epoch: Epoch;
|
|
429
|
+
}, {
|
|
430
|
+
params: {
|
|
431
|
+
epoch: Epoch;
|
|
167
432
|
};
|
|
168
|
-
},
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
* @returns any Success response
|
|
176
|
-
* @throws ApiError
|
|
177
|
-
*/
|
|
178
|
-
produceBlock(slot: Slot, randaoReveal: BLSSignature, graffiti: string): Promise<ApiClientResponse<{
|
|
179
|
-
[HttpStatusCode.OK]: {
|
|
180
|
-
data: allForks.BeaconBlock;
|
|
433
|
+
}, ProposerDutyList, ExecutionOptimisticAndDependentRootMeta>;
|
|
434
|
+
getSyncCommitteeDuties: Endpoint<"POST", {
|
|
435
|
+
epoch: number;
|
|
436
|
+
indices: ValidatorIndices;
|
|
437
|
+
}, {
|
|
438
|
+
params: {
|
|
439
|
+
epoch: Epoch;
|
|
181
440
|
};
|
|
182
|
-
|
|
441
|
+
body: unknown;
|
|
442
|
+
}, SyncDutyList, ExecutionOptimisticMeta>;
|
|
183
443
|
/**
|
|
184
444
|
* Requests a beacon node to produce a valid block, which can then be signed by a validator.
|
|
185
445
|
* Metadata in the response indicates the type of block produced, and the supported types of block
|
|
186
446
|
* will be added to as forks progress.
|
|
187
|
-
* @param slot The slot for which the block should be proposed.
|
|
188
|
-
* @param randaoReveal The validator's randao reveal value.
|
|
189
|
-
* @param graffiti Arbitrary data validator wants to include in block.
|
|
190
|
-
* @returns any Success response
|
|
191
|
-
* @throws ApiError
|
|
192
447
|
*/
|
|
193
|
-
produceBlockV2
|
|
194
|
-
|
|
195
|
-
|
|
448
|
+
produceBlockV2: Endpoint<"GET", {
|
|
449
|
+
/** The slot for which the block should be proposed */
|
|
450
|
+
slot: Slot;
|
|
451
|
+
/** The validator's randao reveal value */
|
|
452
|
+
randaoReveal: BLSSignature;
|
|
453
|
+
/** Arbitrary data validator wants to include in block */
|
|
454
|
+
graffiti: string;
|
|
455
|
+
} & Omit<ExtraProduceBlockOpts, "blindedLocal">, {
|
|
456
|
+
params: {
|
|
457
|
+
slot: number;
|
|
458
|
+
};
|
|
459
|
+
query: {
|
|
460
|
+
randao_reveal: string;
|
|
461
|
+
graffiti: string;
|
|
462
|
+
fee_recipient?: string;
|
|
463
|
+
builder_selection?: string;
|
|
464
|
+
strict_fee_recipient_check?: boolean;
|
|
465
|
+
};
|
|
466
|
+
}, BeaconBlockOrContents, VersionMeta>;
|
|
196
467
|
/**
|
|
197
468
|
* Requests a beacon node to produce a valid block, which can then be signed by a validator.
|
|
198
469
|
* Metadata in the response indicates the type of block produced, and the supported types of block
|
|
199
470
|
* will be added to as forks progress.
|
|
200
|
-
* @param slot The slot for which the block should be proposed.
|
|
201
|
-
* @param randaoReveal The validator's randao reveal value.
|
|
202
|
-
* @param graffiti Arbitrary data validator wants to include in block.
|
|
203
|
-
* @returns any Success response
|
|
204
|
-
* @throws ApiError
|
|
205
471
|
*/
|
|
206
|
-
produceBlockV3
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
472
|
+
produceBlockV3: Endpoint<"GET", {
|
|
473
|
+
/** The slot for which the block should be proposed */
|
|
474
|
+
slot: Slot;
|
|
475
|
+
/** The validator's randao reveal value */
|
|
476
|
+
randaoReveal: BLSSignature;
|
|
477
|
+
/** Arbitrary data validator wants to include in block */
|
|
478
|
+
graffiti: string;
|
|
479
|
+
skipRandaoVerification?: boolean;
|
|
480
|
+
builderBoostFactor?: UintBn64;
|
|
481
|
+
} & ExtraProduceBlockOpts, {
|
|
482
|
+
params: {
|
|
483
|
+
slot: number;
|
|
484
|
+
};
|
|
485
|
+
query: {
|
|
486
|
+
randao_reveal: string;
|
|
487
|
+
graffiti: string;
|
|
488
|
+
skip_randao_verification?: string;
|
|
489
|
+
fee_recipient?: string;
|
|
490
|
+
builder_selection?: string;
|
|
491
|
+
builder_boost_factor?: string;
|
|
492
|
+
strict_fee_recipient_check?: boolean;
|
|
493
|
+
blinded_local?: boolean;
|
|
494
|
+
};
|
|
495
|
+
}, BeaconBlockOrContents | BlindedBeaconBlock, ProduceBlockV3Meta>;
|
|
496
|
+
produceBlindedBlock: Endpoint<"GET", {
|
|
497
|
+
slot: Slot;
|
|
498
|
+
randaoReveal: BLSSignature;
|
|
499
|
+
graffiti: string;
|
|
500
|
+
}, {
|
|
501
|
+
params: {
|
|
502
|
+
slot: number;
|
|
503
|
+
};
|
|
504
|
+
query: {
|
|
505
|
+
randao_reveal: string;
|
|
506
|
+
graffiti: string;
|
|
507
|
+
};
|
|
508
|
+
}, BlindedBeaconBlock, VersionMeta>;
|
|
212
509
|
/**
|
|
213
510
|
* Produce an attestation data
|
|
214
511
|
* Requests that the beacon node produce an AttestationData.
|
|
215
|
-
* @param slot The slot for which an attestation data should be created.
|
|
216
|
-
* @param committeeIndex The committee index for which an attestation data should be created.
|
|
217
|
-
* @returns any Success response
|
|
218
|
-
* @throws ApiError
|
|
219
512
|
*/
|
|
220
|
-
produceAttestationData
|
|
221
|
-
|
|
222
|
-
|
|
513
|
+
produceAttestationData: Endpoint<"GET", {
|
|
514
|
+
/** The committee index for which an attestation data should be created */
|
|
515
|
+
committeeIndex: CommitteeIndex;
|
|
516
|
+
/** The slot for which an attestation data should be created */
|
|
517
|
+
slot: Slot;
|
|
518
|
+
}, {
|
|
519
|
+
query: {
|
|
520
|
+
slot: number;
|
|
521
|
+
committee_index: number;
|
|
223
522
|
};
|
|
224
|
-
},
|
|
225
|
-
produceSyncCommitteeContribution
|
|
226
|
-
|
|
227
|
-
|
|
523
|
+
}, phase0.AttestationData, EmptyMeta>;
|
|
524
|
+
produceSyncCommitteeContribution: Endpoint<"GET", {
|
|
525
|
+
slot: Slot;
|
|
526
|
+
subcommitteeIndex: number;
|
|
527
|
+
beaconBlockRoot: Root;
|
|
528
|
+
}, {
|
|
529
|
+
query: {
|
|
530
|
+
slot: number;
|
|
531
|
+
subcommittee_index: number;
|
|
532
|
+
beacon_block_root: string;
|
|
228
533
|
};
|
|
229
|
-
},
|
|
534
|
+
}, altair.SyncCommitteeContribution, EmptyMeta>;
|
|
230
535
|
/**
|
|
231
536
|
* Get aggregated attestation
|
|
232
537
|
* Aggregates all attestations matching given attestation data root and slot
|
|
233
|
-
*
|
|
234
|
-
* @param slot
|
|
235
|
-
* @returns any Returns aggregated `Attestation` object with same `AttestationData` root.
|
|
236
|
-
* @throws ApiError
|
|
538
|
+
* Returns an aggregated `Attestation` object with same `AttestationData` root.
|
|
237
539
|
*/
|
|
238
|
-
getAggregatedAttestation
|
|
239
|
-
|
|
240
|
-
|
|
540
|
+
getAggregatedAttestation: Endpoint<"GET", {
|
|
541
|
+
/** HashTreeRoot of AttestationData that validator want's aggregated */
|
|
542
|
+
attestationDataRoot: Root;
|
|
543
|
+
slot: Slot;
|
|
544
|
+
}, {
|
|
545
|
+
query: {
|
|
546
|
+
attestation_data_root: string;
|
|
547
|
+
slot: number;
|
|
241
548
|
};
|
|
242
|
-
},
|
|
549
|
+
}, phase0.Attestation, EmptyMeta>;
|
|
243
550
|
/**
|
|
244
551
|
* Publish multiple aggregate and proofs
|
|
245
552
|
* Verifies given aggregate and proofs and publishes them on appropriate gossipsub topic.
|
|
246
|
-
* @param requestBody
|
|
247
|
-
* @returns any Successful response
|
|
248
|
-
* @throws ApiError
|
|
249
553
|
*/
|
|
250
|
-
publishAggregateAndProofs
|
|
251
|
-
|
|
252
|
-
},
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
554
|
+
publishAggregateAndProofs: Endpoint<"POST", {
|
|
555
|
+
signedAggregateAndProofs: SignedAggregateAndProofList;
|
|
556
|
+
}, {
|
|
557
|
+
body: unknown;
|
|
558
|
+
}, EmptyResponseData, EmptyMeta>;
|
|
559
|
+
publishContributionAndProofs: Endpoint<"POST", {
|
|
560
|
+
contributionAndProofs: SignedContributionAndProofList;
|
|
561
|
+
}, {
|
|
562
|
+
body: unknown;
|
|
563
|
+
}, EmptyResponseData, EmptyMeta>;
|
|
256
564
|
/**
|
|
257
565
|
* Signal beacon node to prepare for a committee subnet
|
|
258
566
|
* After beacon node receives this request,
|
|
@@ -262,22 +570,25 @@ export type Api = {
|
|
|
262
570
|
* - announce subnet topic subscription on gossipsub
|
|
263
571
|
* - aggregate attestations received on that subnet
|
|
264
572
|
*
|
|
265
|
-
*
|
|
266
|
-
* @returns any Slot signature is valid and beacon node has prepared the attestation subnet.
|
|
267
|
-
*
|
|
268
|
-
* Note that, we cannot be certain Beacon node will find peers for that subnet for various reasons,"
|
|
573
|
+
* Returns if slot signature is valid and beacon node has prepared the attestation subnet.
|
|
269
574
|
*
|
|
270
|
-
*
|
|
575
|
+
* Note that we cannot be certain the Beacon node will find peers for that subnet for various reasons.
|
|
271
576
|
*/
|
|
272
|
-
prepareBeaconCommitteeSubnet
|
|
273
|
-
|
|
274
|
-
},
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
577
|
+
prepareBeaconCommitteeSubnet: Endpoint<"POST", {
|
|
578
|
+
subscriptions: BeaconCommitteeSubscriptionList;
|
|
579
|
+
}, {
|
|
580
|
+
body: unknown;
|
|
581
|
+
}, EmptyResponseData, EmptyMeta>;
|
|
582
|
+
prepareSyncCommitteeSubnets: Endpoint<"POST", {
|
|
583
|
+
subscriptions: SyncCommitteeSubscriptionList;
|
|
584
|
+
}, {
|
|
585
|
+
body: unknown;
|
|
586
|
+
}, EmptyResponseData, EmptyMeta>;
|
|
587
|
+
prepareBeaconProposer: Endpoint<"POST", {
|
|
588
|
+
proposers: ProposerPreparationDataList;
|
|
589
|
+
}, {
|
|
590
|
+
body: unknown;
|
|
591
|
+
}, EmptyResponseData, EmptyMeta>;
|
|
281
592
|
/**
|
|
282
593
|
* Determine if a distributed validator has been selected to aggregate attestations
|
|
283
594
|
*
|
|
@@ -288,15 +599,14 @@ export type Api = {
|
|
|
288
599
|
*
|
|
289
600
|
* Note that this endpoint is not implemented by the beacon node and will return a 501 error
|
|
290
601
|
*
|
|
291
|
-
*
|
|
292
|
-
* @returns An array of threshold aggregated beacon committee selection proofs
|
|
293
|
-
* @throws ApiError
|
|
602
|
+
* Returns an array of threshold aggregated beacon committee selection proofs
|
|
294
603
|
*/
|
|
295
|
-
submitBeaconCommitteeSelections
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
604
|
+
submitBeaconCommitteeSelections: Endpoint<"POST", {
|
|
605
|
+
/** An array of partial beacon committee selection proofs */
|
|
606
|
+
selections: BeaconCommitteeSelectionList;
|
|
607
|
+
}, {
|
|
608
|
+
body: unknown;
|
|
609
|
+
}, BeaconCommitteeSelectionList, EmptyMeta>;
|
|
300
610
|
/**
|
|
301
611
|
* Determine if a distributed validator has been selected to make a sync committee contribution
|
|
302
612
|
*
|
|
@@ -307,140 +617,29 @@ export type Api = {
|
|
|
307
617
|
*
|
|
308
618
|
* Note that this endpoint is not implemented by the beacon node and will return a 501 error
|
|
309
619
|
*
|
|
310
|
-
*
|
|
311
|
-
* @returns An array of threshold aggregated sync committee selection proofs
|
|
312
|
-
* @throws ApiError
|
|
620
|
+
* Returns an array of threshold aggregated sync committee selection proofs
|
|
313
621
|
*/
|
|
314
|
-
submitSyncCommitteeSelections
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
622
|
+
submitSyncCommitteeSelections: Endpoint<"POST", {
|
|
623
|
+
/** An array of partial sync committee selection proofs */
|
|
624
|
+
selections: SyncCommitteeSelectionList;
|
|
625
|
+
}, {
|
|
626
|
+
body: unknown;
|
|
627
|
+
}, SyncCommitteeSelectionList, EmptyMeta>;
|
|
319
628
|
/** Returns validator indices that have been observed to be active on the network */
|
|
320
|
-
getLiveness
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
}, HttpStatusCode.BAD_REQUEST>>;
|
|
325
|
-
registerValidator(registrations: bellatrix.SignedValidatorRegistrationV1[]): Promise<ApiClientResponse<{
|
|
326
|
-
[HttpStatusCode.OK]: void;
|
|
327
|
-
}, HttpStatusCode.BAD_REQUEST>>;
|
|
328
|
-
};
|
|
329
|
-
/**
|
|
330
|
-
* Define javascript values for each route
|
|
331
|
-
*/
|
|
332
|
-
export declare const routesData: RoutesData<Api>;
|
|
333
|
-
export type ReqTypes = {
|
|
334
|
-
getAttesterDuties: {
|
|
335
|
-
params: {
|
|
336
|
-
epoch: Epoch;
|
|
337
|
-
};
|
|
338
|
-
body: U64Str[];
|
|
339
|
-
};
|
|
340
|
-
getProposerDuties: {
|
|
341
|
-
params: {
|
|
342
|
-
epoch: Epoch;
|
|
343
|
-
};
|
|
344
|
-
};
|
|
345
|
-
getSyncCommitteeDuties: {
|
|
629
|
+
getLiveness: Endpoint<"POST", {
|
|
630
|
+
epoch: Epoch;
|
|
631
|
+
indices: ValidatorIndex[];
|
|
632
|
+
}, {
|
|
346
633
|
params: {
|
|
347
634
|
epoch: Epoch;
|
|
348
635
|
};
|
|
349
|
-
body: U64Str[];
|
|
350
|
-
};
|
|
351
|
-
produceBlock: {
|
|
352
|
-
params: {
|
|
353
|
-
slot: number;
|
|
354
|
-
};
|
|
355
|
-
query: {
|
|
356
|
-
randao_reveal: string;
|
|
357
|
-
graffiti: string;
|
|
358
|
-
};
|
|
359
|
-
};
|
|
360
|
-
produceBlockV2: {
|
|
361
|
-
params: {
|
|
362
|
-
slot: number;
|
|
363
|
-
};
|
|
364
|
-
query: {
|
|
365
|
-
randao_reveal: string;
|
|
366
|
-
graffiti: string;
|
|
367
|
-
fee_recipient?: string;
|
|
368
|
-
};
|
|
369
|
-
};
|
|
370
|
-
produceBlockV3: {
|
|
371
|
-
params: {
|
|
372
|
-
slot: number;
|
|
373
|
-
};
|
|
374
|
-
query: {
|
|
375
|
-
randao_reveal: string;
|
|
376
|
-
graffiti: string;
|
|
377
|
-
skip_randao_verification?: string;
|
|
378
|
-
fee_recipient?: string;
|
|
379
|
-
builder_selection?: string;
|
|
380
|
-
builder_boost_factor?: string;
|
|
381
|
-
strict_fee_recipient_check?: boolean;
|
|
382
|
-
blinded_local?: boolean;
|
|
383
|
-
};
|
|
384
|
-
};
|
|
385
|
-
produceBlindedBlock: {
|
|
386
|
-
params: {
|
|
387
|
-
slot: number;
|
|
388
|
-
};
|
|
389
|
-
query: {
|
|
390
|
-
randao_reveal: string;
|
|
391
|
-
graffiti: string;
|
|
392
|
-
};
|
|
393
|
-
};
|
|
394
|
-
produceAttestationData: {
|
|
395
|
-
query: {
|
|
396
|
-
slot: number;
|
|
397
|
-
committee_index: number;
|
|
398
|
-
};
|
|
399
|
-
};
|
|
400
|
-
produceSyncCommitteeContribution: {
|
|
401
|
-
query: {
|
|
402
|
-
slot: number;
|
|
403
|
-
subcommittee_index: number;
|
|
404
|
-
beacon_block_root: string;
|
|
405
|
-
};
|
|
406
|
-
};
|
|
407
|
-
getAggregatedAttestation: {
|
|
408
|
-
query: {
|
|
409
|
-
attestation_data_root: string;
|
|
410
|
-
slot: number;
|
|
411
|
-
};
|
|
412
|
-
};
|
|
413
|
-
publishAggregateAndProofs: {
|
|
414
636
|
body: unknown;
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
}
|
|
419
|
-
prepareBeaconCommitteeSubnet: {
|
|
420
|
-
body: unknown;
|
|
421
|
-
};
|
|
422
|
-
prepareSyncCommitteeSubnets: {
|
|
423
|
-
body: unknown;
|
|
424
|
-
};
|
|
425
|
-
prepareBeaconProposer: {
|
|
426
|
-
body: unknown;
|
|
427
|
-
};
|
|
428
|
-
submitBeaconCommitteeSelections: {
|
|
429
|
-
body: unknown;
|
|
430
|
-
};
|
|
431
|
-
submitSyncCommitteeSelections: {
|
|
432
|
-
body: unknown;
|
|
433
|
-
};
|
|
434
|
-
getLiveness: {
|
|
435
|
-
params: {
|
|
436
|
-
epoch: Epoch;
|
|
437
|
-
};
|
|
438
|
-
body: U64Str[];
|
|
439
|
-
};
|
|
440
|
-
registerValidator: {
|
|
637
|
+
}, LivenessResponseDataList, EmptyMeta>;
|
|
638
|
+
registerValidator: Endpoint<"POST", {
|
|
639
|
+
registrations: SignedValidatorRegistrationV1List;
|
|
640
|
+
}, {
|
|
441
641
|
body: unknown;
|
|
442
|
-
}
|
|
642
|
+
}, EmptyResponseData, EmptyMeta>;
|
|
443
643
|
};
|
|
444
|
-
export declare function
|
|
445
|
-
export declare function getReturnTypes(): ReturnTypes<Api>;
|
|
644
|
+
export declare function getDefinitions(_config: ChainForkConfig): RouteDefinitions<Endpoints>;
|
|
446
645
|
//# sourceMappingURL=validator.d.ts.map
|