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