@lodestar/api 1.42.0-dev.4411584fd8 → 1.42.0-dev.47afaa6bb7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ContainerType, ListBasicType, ValueOf } from "@chainsafe/ssz";
|
|
2
2
|
import { ChainForkConfig } from "@lodestar/config";
|
|
3
3
|
import { ForkName } from "@lodestar/params";
|
|
4
|
-
import { Attestation, AttesterSlashing, Epoch, LightClientFinalityUpdate, LightClientOptimisticUpdate, RootHex, SSEPayloadAttributes, Slot, StringType, UintNum64, altair, capella, electra, phase0 } from "@lodestar/types";
|
|
4
|
+
import { Attestation, AttesterSlashing, BuilderIndex, Epoch, LightClientFinalityUpdate, LightClientOptimisticUpdate, RootHex, SSEPayloadAttributes, Slot, StringType, UintNum64, altair, capella, electra, gloas, phase0 } from "@lodestar/types";
|
|
5
5
|
import { EmptyMeta, EmptyResponseData } from "../../utils/codecs.js";
|
|
6
6
|
import { Endpoint, RouteDefinitions } from "../../utils/index.js";
|
|
7
7
|
export declare const blobSidecarSSE: ContainerType<{
|
|
@@ -12,13 +12,20 @@ export declare const blobSidecarSSE: ContainerType<{
|
|
|
12
12
|
versionedHash: StringType<string>;
|
|
13
13
|
}>;
|
|
14
14
|
type BlobSidecarSSE = ValueOf<typeof blobSidecarSSE>;
|
|
15
|
-
export declare const
|
|
15
|
+
export declare const fuluDataColumnSidecarSSE: ContainerType<{
|
|
16
16
|
blockRoot: StringType<string>;
|
|
17
17
|
index: import("@chainsafe/ssz").UintNumberType;
|
|
18
18
|
slot: import("@chainsafe/ssz").UintNumberType;
|
|
19
19
|
kzgCommitments: ListBasicType<StringType<string>>;
|
|
20
20
|
}>;
|
|
21
|
-
|
|
21
|
+
declare const gloasDataColumnSidecarSSE: ContainerType<{
|
|
22
|
+
blockRoot: StringType<string>;
|
|
23
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
24
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
25
|
+
}>;
|
|
26
|
+
type FuluDataColumnSidecarSSE = ValueOf<typeof fuluDataColumnSidecarSSE>;
|
|
27
|
+
type GloasDataColumnSidecarSSE = ValueOf<typeof gloasDataColumnSidecarSSE>;
|
|
28
|
+
type DataColumnSidecarSSE = FuluDataColumnSidecarSSE | GloasDataColumnSidecarSSE;
|
|
22
29
|
export declare enum EventType {
|
|
23
30
|
/**
|
|
24
31
|
* The node has finished processing, resulting in a new head. previous_duty_dependent_root is
|
|
@@ -58,7 +65,15 @@ export declare enum EventType {
|
|
|
58
65
|
/** The node has received a valid BlobSidecar (from P2P or API) */
|
|
59
66
|
blobSidecar = "blob_sidecar",
|
|
60
67
|
/** The node has received a valid DataColumnSidecar (from P2P or API) */
|
|
61
|
-
dataColumnSidecar = "data_column_sidecar"
|
|
68
|
+
dataColumnSidecar = "data_column_sidecar",
|
|
69
|
+
/** The node has received a `SignedExecutionPayloadEnvelope` (from P2P or API) that is successfully imported on the fork-choice `on_execution_payload` handler */
|
|
70
|
+
executionPayload = "execution_payload",
|
|
71
|
+
/** The node has received a `SignedExecutionPayloadEnvelope` (from P2P or API) that passes validation rules of the `execution_payload` topic */
|
|
72
|
+
executionPayloadGossip = "execution_payload_gossip",
|
|
73
|
+
/** The node has verified that the execution payload and blobs for a block are available and ready for payload attestation */
|
|
74
|
+
executionPayloadAvailable = "execution_payload_available",
|
|
75
|
+
/** The node has received a `SignedExecutionPayloadBid` (from P2P or API) that passes gossip validation on the `execution_payload_bid` topic */
|
|
76
|
+
executionPayloadBid = "execution_payload_bid"
|
|
62
77
|
}
|
|
63
78
|
export declare const eventTypes: {
|
|
64
79
|
[K in EventType]: K;
|
|
@@ -119,6 +134,29 @@ export type EventData = {
|
|
|
119
134
|
};
|
|
120
135
|
[EventType.blobSidecar]: BlobSidecarSSE;
|
|
121
136
|
[EventType.dataColumnSidecar]: DataColumnSidecarSSE;
|
|
137
|
+
[EventType.executionPayload]: {
|
|
138
|
+
slot: Slot;
|
|
139
|
+
builderIndex: BuilderIndex;
|
|
140
|
+
blockHash: RootHex;
|
|
141
|
+
blockRoot: RootHex;
|
|
142
|
+
stateRoot: RootHex;
|
|
143
|
+
executionOptimistic: boolean;
|
|
144
|
+
};
|
|
145
|
+
[EventType.executionPayloadGossip]: {
|
|
146
|
+
slot: Slot;
|
|
147
|
+
builderIndex: BuilderIndex;
|
|
148
|
+
blockHash: RootHex;
|
|
149
|
+
blockRoot: RootHex;
|
|
150
|
+
stateRoot: RootHex;
|
|
151
|
+
};
|
|
152
|
+
[EventType.executionPayloadAvailable]: {
|
|
153
|
+
slot: Slot;
|
|
154
|
+
blockRoot: RootHex;
|
|
155
|
+
};
|
|
156
|
+
[EventType.executionPayloadBid]: {
|
|
157
|
+
version: ForkName;
|
|
158
|
+
data: gloas.SignedExecutionPayloadBid;
|
|
159
|
+
};
|
|
122
160
|
};
|
|
123
161
|
export type BeaconEvent = {
|
|
124
162
|
[K in EventType]: {
|
|
@@ -332,11 +370,6 @@ export declare function getEventSerdes(config: ChainForkConfig): {
|
|
|
332
370
|
slot: import("@chainsafe/ssz").UintNumberType;
|
|
333
371
|
kzgCommitment: StringType<string>;
|
|
334
372
|
versionedHash: StringType<string>;
|
|
335
|
-
}> | import("@chainsafe/ssz").ValueOfFields<{
|
|
336
|
-
blockRoot: StringType<string>;
|
|
337
|
-
index: import("@chainsafe/ssz").UintNumberType;
|
|
338
|
-
slot: import("@chainsafe/ssz").UintNumberType;
|
|
339
|
-
kzgCommitments: ListBasicType<StringType<string>>;
|
|
340
373
|
}> | {
|
|
341
374
|
slot: number;
|
|
342
375
|
block: string;
|
|
@@ -773,7 +806,41 @@ export declare function getEventSerdes(config: ChainForkConfig): {
|
|
|
773
806
|
parentBeaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
774
807
|
}>;
|
|
775
808
|
}>;
|
|
776
|
-
}
|
|
809
|
+
} | {
|
|
810
|
+
slot: number;
|
|
811
|
+
builderIndex: number;
|
|
812
|
+
blockHash: string;
|
|
813
|
+
blockRoot: string;
|
|
814
|
+
stateRoot: string;
|
|
815
|
+
executionOptimistic: boolean;
|
|
816
|
+
} | {
|
|
817
|
+
slot: number;
|
|
818
|
+
builderIndex: number;
|
|
819
|
+
blockHash: string;
|
|
820
|
+
blockRoot: string;
|
|
821
|
+
stateRoot: string;
|
|
822
|
+
} | {
|
|
823
|
+
slot: number;
|
|
824
|
+
blockRoot: string;
|
|
825
|
+
} | {
|
|
826
|
+
version: ForkName;
|
|
827
|
+
data: import("@chainsafe/ssz").ValueOfFields<{
|
|
828
|
+
message: ContainerType<{
|
|
829
|
+
parentBlockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
830
|
+
parentBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
831
|
+
blockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
832
|
+
prevRandao: import("@chainsafe/ssz").ByteVectorType;
|
|
833
|
+
feeRecipient: import("@lodestar/types").ExecutionAddressType;
|
|
834
|
+
gasLimit: import("@chainsafe/ssz").UintBigintType;
|
|
835
|
+
builderIndex: import("@chainsafe/ssz").UintNumberType;
|
|
836
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
837
|
+
value: import("@chainsafe/ssz").UintNumberType;
|
|
838
|
+
executionPayment: import("@chainsafe/ssz").UintNumberType;
|
|
839
|
+
blobKzgCommitments: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
840
|
+
}>;
|
|
841
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
842
|
+
}>;
|
|
843
|
+
} | DataColumnSidecarSSE;
|
|
777
844
|
};
|
|
778
845
|
export {};
|
|
779
846
|
//# sourceMappingURL=events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/beacon/routes/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/beacon/routes/events.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAarD"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ContainerType, ListBasicType } from "@chainsafe/ssz";
|
|
2
|
-
import { MAX_BLOB_COMMITMENTS_PER_BLOCK } from "@lodestar/params";
|
|
2
|
+
import { MAX_BLOB_COMMITMENTS_PER_BLOCK, isForkPostGloas } from "@lodestar/params";
|
|
3
3
|
import { StringType, ssz, sszTypesFor, } from "@lodestar/types";
|
|
4
4
|
import { EmptyResponseCodec } from "../../utils/codecs.js";
|
|
5
|
-
import { getPostAltairForkTypes, getPostBellatrixForkTypes } from "../../utils/fork.js";
|
|
5
|
+
import { getPostAltairForkTypes, getPostBellatrixForkTypes, getPostGloasForkTypes } from "../../utils/fork.js";
|
|
6
6
|
import { Schema } from "../../utils/index.js";
|
|
7
7
|
import { VersionType } from "../../utils/metadata.js";
|
|
8
8
|
const stringType = new StringType();
|
|
@@ -13,12 +13,17 @@ export const blobSidecarSSE = new ContainerType({
|
|
|
13
13
|
kzgCommitment: stringType,
|
|
14
14
|
versionedHash: stringType,
|
|
15
15
|
}, { typeName: "BlobSidecarSSE", jsonCase: "eth2" });
|
|
16
|
-
export const
|
|
16
|
+
export const fuluDataColumnSidecarSSE = new ContainerType({
|
|
17
17
|
blockRoot: stringType,
|
|
18
18
|
index: ssz.ColumnIndex,
|
|
19
19
|
slot: ssz.Slot,
|
|
20
20
|
kzgCommitments: new ListBasicType(stringType, MAX_BLOB_COMMITMENTS_PER_BLOCK),
|
|
21
21
|
}, { typeName: "DataColumnSidecarSSE", jsonCase: "eth2" });
|
|
22
|
+
const gloasDataColumnSidecarSSE = new ContainerType({
|
|
23
|
+
blockRoot: stringType,
|
|
24
|
+
index: ssz.ColumnIndex,
|
|
25
|
+
slot: ssz.Slot,
|
|
26
|
+
}, { typeName: "DataColumnSidecarSSE", jsonCase: "eth2" });
|
|
22
27
|
export { EventType };
|
|
23
28
|
var EventType;
|
|
24
29
|
(function (EventType) {
|
|
@@ -61,6 +66,14 @@ var EventType;
|
|
|
61
66
|
EventType["blobSidecar"] = "blob_sidecar";
|
|
62
67
|
/** The node has received a valid DataColumnSidecar (from P2P or API) */
|
|
63
68
|
EventType["dataColumnSidecar"] = "data_column_sidecar";
|
|
69
|
+
/** The node has received a `SignedExecutionPayloadEnvelope` (from P2P or API) that is successfully imported on the fork-choice `on_execution_payload` handler */
|
|
70
|
+
EventType["executionPayload"] = "execution_payload";
|
|
71
|
+
/** The node has received a `SignedExecutionPayloadEnvelope` (from P2P or API) that passes validation rules of the `execution_payload` topic */
|
|
72
|
+
EventType["executionPayloadGossip"] = "execution_payload_gossip";
|
|
73
|
+
/** The node has verified that the execution payload and blobs for a block are available and ready for payload attestation */
|
|
74
|
+
EventType["executionPayloadAvailable"] = "execution_payload_available";
|
|
75
|
+
/** The node has received a `SignedExecutionPayloadBid` (from P2P or API) that passes gossip validation on the `execution_payload_bid` topic */
|
|
76
|
+
EventType["executionPayloadBid"] = "execution_payload_bid";
|
|
64
77
|
})(EventType || (EventType = {}));
|
|
65
78
|
export const eventTypes = {
|
|
66
79
|
[EventType.head]: EventType.head,
|
|
@@ -80,6 +93,10 @@ export const eventTypes = {
|
|
|
80
93
|
[EventType.payloadAttributes]: EventType.payloadAttributes,
|
|
81
94
|
[EventType.blobSidecar]: EventType.blobSidecar,
|
|
82
95
|
[EventType.dataColumnSidecar]: EventType.dataColumnSidecar,
|
|
96
|
+
[EventType.executionPayload]: EventType.executionPayload,
|
|
97
|
+
[EventType.executionPayloadGossip]: EventType.executionPayloadGossip,
|
|
98
|
+
[EventType.executionPayloadAvailable]: EventType.executionPayloadAvailable,
|
|
99
|
+
[EventType.executionPayloadBid]: EventType.executionPayloadBid,
|
|
83
100
|
};
|
|
84
101
|
export function getDefinitions(_config) {
|
|
85
102
|
return {
|
|
@@ -175,7 +192,42 @@ export function getTypeByEvent(config) {
|
|
|
175
192
|
[EventType.contributionAndProof]: ssz.altair.SignedContributionAndProof,
|
|
176
193
|
[EventType.payloadAttributes]: WithVersion((fork) => getPostBellatrixForkTypes(fork).SSEPayloadAttributes),
|
|
177
194
|
[EventType.blobSidecar]: blobSidecarSSE,
|
|
178
|
-
[EventType.dataColumnSidecar]:
|
|
195
|
+
[EventType.dataColumnSidecar]: {
|
|
196
|
+
toJson: (data) => {
|
|
197
|
+
const fork = config.getForkName(data.slot);
|
|
198
|
+
if (isForkPostGloas(fork)) {
|
|
199
|
+
return gloasDataColumnSidecarSSE.toJson(data);
|
|
200
|
+
}
|
|
201
|
+
return fuluDataColumnSidecarSSE.toJson(data);
|
|
202
|
+
},
|
|
203
|
+
fromJson: (data) => {
|
|
204
|
+
const fork = config.getForkName(Number(data.slot));
|
|
205
|
+
if (isForkPostGloas(fork)) {
|
|
206
|
+
return gloasDataColumnSidecarSSE.fromJson(data);
|
|
207
|
+
}
|
|
208
|
+
return fuluDataColumnSidecarSSE.fromJson(data);
|
|
209
|
+
},
|
|
210
|
+
},
|
|
211
|
+
[EventType.executionPayload]: new ContainerType({
|
|
212
|
+
slot: ssz.Slot,
|
|
213
|
+
builderIndex: ssz.BuilderIndex,
|
|
214
|
+
blockHash: stringType,
|
|
215
|
+
blockRoot: stringType,
|
|
216
|
+
stateRoot: stringType,
|
|
217
|
+
executionOptimistic: ssz.Boolean,
|
|
218
|
+
}, { jsonCase: "eth2" }),
|
|
219
|
+
[EventType.executionPayloadGossip]: new ContainerType({
|
|
220
|
+
slot: ssz.Slot,
|
|
221
|
+
builderIndex: ssz.BuilderIndex,
|
|
222
|
+
blockHash: stringType,
|
|
223
|
+
blockRoot: stringType,
|
|
224
|
+
stateRoot: stringType,
|
|
225
|
+
}, { jsonCase: "eth2" }),
|
|
226
|
+
[EventType.executionPayloadAvailable]: new ContainerType({
|
|
227
|
+
slot: ssz.Slot,
|
|
228
|
+
blockRoot: stringType,
|
|
229
|
+
}, { jsonCase: "eth2" }),
|
|
230
|
+
[EventType.executionPayloadBid]: WithVersion((fork) => getPostGloasForkTypes(fork).SignedExecutionPayloadBid),
|
|
179
231
|
[EventType.lightClientOptimisticUpdate]: WithVersion((fork) => getPostAltairForkTypes(fork).LightClientOptimisticUpdate),
|
|
180
232
|
[EventType.lightClientFinalityUpdate]: WithVersion((fork) => getPostAltairForkTypes(fork).LightClientFinalityUpdate),
|
|
181
233
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/beacon/routes/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAErE,OAAO,EAAW,8BAA8B,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/beacon/routes/events.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"bugs": {
|
|
12
12
|
"url": "https://github.com/ChainSafe/lodestar/issues"
|
|
13
13
|
},
|
|
14
|
-
"version": "1.42.0-dev.
|
|
14
|
+
"version": "1.42.0-dev.47afaa6bb7",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": {
|
|
17
17
|
".": {
|
|
@@ -76,10 +76,10 @@
|
|
|
76
76
|
"dependencies": {
|
|
77
77
|
"@chainsafe/persistent-merkle-tree": "^1.2.1",
|
|
78
78
|
"@chainsafe/ssz": "^1.2.2",
|
|
79
|
-
"@lodestar/config": "^1.42.0-dev.
|
|
80
|
-
"@lodestar/params": "^1.42.0-dev.
|
|
81
|
-
"@lodestar/types": "^1.42.0-dev.
|
|
82
|
-
"@lodestar/utils": "^1.42.0-dev.
|
|
79
|
+
"@lodestar/config": "^1.42.0-dev.47afaa6bb7",
|
|
80
|
+
"@lodestar/params": "^1.42.0-dev.47afaa6bb7",
|
|
81
|
+
"@lodestar/types": "^1.42.0-dev.47afaa6bb7",
|
|
82
|
+
"@lodestar/utils": "^1.42.0-dev.47afaa6bb7",
|
|
83
83
|
"eventsource": "^2.0.2",
|
|
84
84
|
"qs": "^6.11.1"
|
|
85
85
|
},
|
|
@@ -96,5 +96,5 @@
|
|
|
96
96
|
"api",
|
|
97
97
|
"blockchain"
|
|
98
98
|
],
|
|
99
|
-
"gitHead": "
|
|
99
|
+
"gitHead": "8cdb55e5b512d09d1ef1b98b8597cc51ac2dabd1"
|
|
100
100
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {ContainerType, ListBasicType, ValueOf} from "@chainsafe/ssz";
|
|
2
2
|
import {ChainForkConfig} from "@lodestar/config";
|
|
3
|
-
import {ForkName, MAX_BLOB_COMMITMENTS_PER_BLOCK} from "@lodestar/params";
|
|
3
|
+
import {ForkName, MAX_BLOB_COMMITMENTS_PER_BLOCK, isForkPostGloas} from "@lodestar/params";
|
|
4
4
|
import {
|
|
5
5
|
Attestation,
|
|
6
6
|
AttesterSlashing,
|
|
7
|
+
BuilderIndex,
|
|
7
8
|
Epoch,
|
|
8
9
|
LightClientFinalityUpdate,
|
|
9
10
|
LightClientOptimisticUpdate,
|
|
@@ -15,12 +16,13 @@ import {
|
|
|
15
16
|
altair,
|
|
16
17
|
capella,
|
|
17
18
|
electra,
|
|
19
|
+
gloas,
|
|
18
20
|
phase0,
|
|
19
21
|
ssz,
|
|
20
22
|
sszTypesFor,
|
|
21
23
|
} from "@lodestar/types";
|
|
22
24
|
import {EmptyMeta, EmptyResponseCodec, EmptyResponseData} from "../../utils/codecs.js";
|
|
23
|
-
import {getPostAltairForkTypes, getPostBellatrixForkTypes} from "../../utils/fork.js";
|
|
25
|
+
import {getPostAltairForkTypes, getPostBellatrixForkTypes, getPostGloasForkTypes} from "../../utils/fork.js";
|
|
24
26
|
import {Endpoint, RouteDefinitions, Schema} from "../../utils/index.js";
|
|
25
27
|
import {VersionType} from "../../utils/metadata.js";
|
|
26
28
|
|
|
@@ -37,7 +39,7 @@ export const blobSidecarSSE = new ContainerType(
|
|
|
37
39
|
);
|
|
38
40
|
type BlobSidecarSSE = ValueOf<typeof blobSidecarSSE>;
|
|
39
41
|
|
|
40
|
-
export const
|
|
42
|
+
export const fuluDataColumnSidecarSSE = new ContainerType(
|
|
41
43
|
{
|
|
42
44
|
blockRoot: stringType,
|
|
43
45
|
index: ssz.ColumnIndex,
|
|
@@ -46,7 +48,17 @@ export const dataColumnSidecarSSE = new ContainerType(
|
|
|
46
48
|
},
|
|
47
49
|
{typeName: "DataColumnSidecarSSE", jsonCase: "eth2"}
|
|
48
50
|
);
|
|
49
|
-
|
|
51
|
+
const gloasDataColumnSidecarSSE = new ContainerType(
|
|
52
|
+
{
|
|
53
|
+
blockRoot: stringType,
|
|
54
|
+
index: ssz.ColumnIndex,
|
|
55
|
+
slot: ssz.Slot,
|
|
56
|
+
},
|
|
57
|
+
{typeName: "DataColumnSidecarSSE", jsonCase: "eth2"}
|
|
58
|
+
);
|
|
59
|
+
type FuluDataColumnSidecarSSE = ValueOf<typeof fuluDataColumnSidecarSSE>;
|
|
60
|
+
type GloasDataColumnSidecarSSE = ValueOf<typeof gloasDataColumnSidecarSSE>;
|
|
61
|
+
type DataColumnSidecarSSE = FuluDataColumnSidecarSSE | GloasDataColumnSidecarSSE;
|
|
50
62
|
|
|
51
63
|
export enum EventType {
|
|
52
64
|
/**
|
|
@@ -88,6 +100,14 @@ export enum EventType {
|
|
|
88
100
|
blobSidecar = "blob_sidecar",
|
|
89
101
|
/** The node has received a valid DataColumnSidecar (from P2P or API) */
|
|
90
102
|
dataColumnSidecar = "data_column_sidecar",
|
|
103
|
+
/** The node has received a `SignedExecutionPayloadEnvelope` (from P2P or API) that is successfully imported on the fork-choice `on_execution_payload` handler */
|
|
104
|
+
executionPayload = "execution_payload",
|
|
105
|
+
/** The node has received a `SignedExecutionPayloadEnvelope` (from P2P or API) that passes validation rules of the `execution_payload` topic */
|
|
106
|
+
executionPayloadGossip = "execution_payload_gossip",
|
|
107
|
+
/** The node has verified that the execution payload and blobs for a block are available and ready for payload attestation */
|
|
108
|
+
executionPayloadAvailable = "execution_payload_available",
|
|
109
|
+
/** The node has received a `SignedExecutionPayloadBid` (from P2P or API) that passes gossip validation on the `execution_payload_bid` topic */
|
|
110
|
+
executionPayloadBid = "execution_payload_bid",
|
|
91
111
|
}
|
|
92
112
|
|
|
93
113
|
export const eventTypes: {[K in EventType]: K} = {
|
|
@@ -108,6 +128,10 @@ export const eventTypes: {[K in EventType]: K} = {
|
|
|
108
128
|
[EventType.payloadAttributes]: EventType.payloadAttributes,
|
|
109
129
|
[EventType.blobSidecar]: EventType.blobSidecar,
|
|
110
130
|
[EventType.dataColumnSidecar]: EventType.dataColumnSidecar,
|
|
131
|
+
[EventType.executionPayload]: EventType.executionPayload,
|
|
132
|
+
[EventType.executionPayloadGossip]: EventType.executionPayloadGossip,
|
|
133
|
+
[EventType.executionPayloadAvailable]: EventType.executionPayloadAvailable,
|
|
134
|
+
[EventType.executionPayloadBid]: EventType.executionPayloadBid,
|
|
111
135
|
};
|
|
112
136
|
|
|
113
137
|
export type EventData = {
|
|
@@ -157,6 +181,26 @@ export type EventData = {
|
|
|
157
181
|
[EventType.payloadAttributes]: {version: ForkName; data: SSEPayloadAttributes};
|
|
158
182
|
[EventType.blobSidecar]: BlobSidecarSSE;
|
|
159
183
|
[EventType.dataColumnSidecar]: DataColumnSidecarSSE;
|
|
184
|
+
[EventType.executionPayload]: {
|
|
185
|
+
slot: Slot;
|
|
186
|
+
builderIndex: BuilderIndex;
|
|
187
|
+
blockHash: RootHex;
|
|
188
|
+
blockRoot: RootHex;
|
|
189
|
+
stateRoot: RootHex;
|
|
190
|
+
executionOptimistic: boolean;
|
|
191
|
+
};
|
|
192
|
+
[EventType.executionPayloadGossip]: {
|
|
193
|
+
slot: Slot;
|
|
194
|
+
builderIndex: BuilderIndex;
|
|
195
|
+
blockHash: RootHex;
|
|
196
|
+
blockRoot: RootHex;
|
|
197
|
+
stateRoot: RootHex;
|
|
198
|
+
};
|
|
199
|
+
[EventType.executionPayloadAvailable]: {
|
|
200
|
+
slot: Slot;
|
|
201
|
+
blockRoot: RootHex;
|
|
202
|
+
};
|
|
203
|
+
[EventType.executionPayloadBid]: {version: ForkName; data: gloas.SignedExecutionPayloadBid};
|
|
160
204
|
};
|
|
161
205
|
|
|
162
206
|
export type BeaconEvent = {[K in EventType]: {type: K; message: EventData[K]}}[EventType];
|
|
@@ -310,7 +354,51 @@ export function getTypeByEvent(config: ChainForkConfig): {[K in EventType]: Type
|
|
|
310
354
|
[EventType.contributionAndProof]: ssz.altair.SignedContributionAndProof,
|
|
311
355
|
[EventType.payloadAttributes]: WithVersion((fork) => getPostBellatrixForkTypes(fork).SSEPayloadAttributes),
|
|
312
356
|
[EventType.blobSidecar]: blobSidecarSSE,
|
|
313
|
-
[EventType.dataColumnSidecar]:
|
|
357
|
+
[EventType.dataColumnSidecar]: {
|
|
358
|
+
toJson: (data) => {
|
|
359
|
+
const fork = config.getForkName(data.slot);
|
|
360
|
+
if (isForkPostGloas(fork)) {
|
|
361
|
+
return gloasDataColumnSidecarSSE.toJson(data);
|
|
362
|
+
}
|
|
363
|
+
return fuluDataColumnSidecarSSE.toJson(data as FuluDataColumnSidecarSSE);
|
|
364
|
+
},
|
|
365
|
+
fromJson: (data) => {
|
|
366
|
+
const fork = config.getForkName(Number((data as DataColumnSidecarSSE).slot));
|
|
367
|
+
if (isForkPostGloas(fork)) {
|
|
368
|
+
return gloasDataColumnSidecarSSE.fromJson(data);
|
|
369
|
+
}
|
|
370
|
+
return fuluDataColumnSidecarSSE.fromJson(data);
|
|
371
|
+
},
|
|
372
|
+
},
|
|
373
|
+
[EventType.executionPayload]: new ContainerType(
|
|
374
|
+
{
|
|
375
|
+
slot: ssz.Slot,
|
|
376
|
+
builderIndex: ssz.BuilderIndex,
|
|
377
|
+
blockHash: stringType,
|
|
378
|
+
blockRoot: stringType,
|
|
379
|
+
stateRoot: stringType,
|
|
380
|
+
executionOptimistic: ssz.Boolean,
|
|
381
|
+
},
|
|
382
|
+
{jsonCase: "eth2"}
|
|
383
|
+
),
|
|
384
|
+
[EventType.executionPayloadGossip]: new ContainerType(
|
|
385
|
+
{
|
|
386
|
+
slot: ssz.Slot,
|
|
387
|
+
builderIndex: ssz.BuilderIndex,
|
|
388
|
+
blockHash: stringType,
|
|
389
|
+
blockRoot: stringType,
|
|
390
|
+
stateRoot: stringType,
|
|
391
|
+
},
|
|
392
|
+
{jsonCase: "eth2"}
|
|
393
|
+
),
|
|
394
|
+
[EventType.executionPayloadAvailable]: new ContainerType(
|
|
395
|
+
{
|
|
396
|
+
slot: ssz.Slot,
|
|
397
|
+
blockRoot: stringType,
|
|
398
|
+
},
|
|
399
|
+
{jsonCase: "eth2"}
|
|
400
|
+
),
|
|
401
|
+
[EventType.executionPayloadBid]: WithVersion((fork) => getPostGloasForkTypes(fork).SignedExecutionPayloadBid),
|
|
314
402
|
|
|
315
403
|
[EventType.lightClientOptimisticUpdate]: WithVersion(
|
|
316
404
|
(fork) => getPostAltairForkTypes(fork).LightClientOptimisticUpdate
|