@lodestar/api 1.42.0-dev.f6213da56d → 1.42.0-dev.fb8f8a700e
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
|
|
@@ -59,8 +66,14 @@ export declare enum EventType {
|
|
|
59
66
|
blobSidecar = "blob_sidecar",
|
|
60
67
|
/** The node has received a valid DataColumnSidecar (from P2P or API) */
|
|
61
68
|
dataColumnSidecar = "data_column_sidecar",
|
|
62
|
-
/** The node has
|
|
63
|
-
|
|
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"
|
|
64
77
|
}
|
|
65
78
|
export declare const eventTypes: {
|
|
66
79
|
[K in EventType]: K;
|
|
@@ -121,10 +134,29 @@ export type EventData = {
|
|
|
121
134
|
};
|
|
122
135
|
[EventType.blobSidecar]: BlobSidecarSSE;
|
|
123
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
|
+
};
|
|
124
152
|
[EventType.executionPayloadAvailable]: {
|
|
125
153
|
slot: Slot;
|
|
126
154
|
blockRoot: RootHex;
|
|
127
155
|
};
|
|
156
|
+
[EventType.executionPayloadBid]: {
|
|
157
|
+
version: ForkName;
|
|
158
|
+
data: gloas.SignedExecutionPayloadBid;
|
|
159
|
+
};
|
|
128
160
|
};
|
|
129
161
|
export type BeaconEvent = {
|
|
130
162
|
[K in EventType]: {
|
|
@@ -338,11 +370,6 @@ export declare function getEventSerdes(config: ChainForkConfig): {
|
|
|
338
370
|
slot: import("@chainsafe/ssz").UintNumberType;
|
|
339
371
|
kzgCommitment: StringType<string>;
|
|
340
372
|
versionedHash: StringType<string>;
|
|
341
|
-
}> | import("@chainsafe/ssz").ValueOfFields<{
|
|
342
|
-
blockRoot: StringType<string>;
|
|
343
|
-
index: import("@chainsafe/ssz").UintNumberType;
|
|
344
|
-
slot: import("@chainsafe/ssz").UintNumberType;
|
|
345
|
-
kzgCommitments: ListBasicType<StringType<string>>;
|
|
346
373
|
}> | {
|
|
347
374
|
slot: number;
|
|
348
375
|
block: string;
|
|
@@ -781,8 +808,39 @@ export declare function getEventSerdes(config: ChainForkConfig): {
|
|
|
781
808
|
}>;
|
|
782
809
|
} | {
|
|
783
810
|
slot: number;
|
|
811
|
+
builderIndex: number;
|
|
812
|
+
blockHash: string;
|
|
784
813
|
blockRoot: string;
|
|
785
|
-
|
|
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;
|
|
786
844
|
};
|
|
787
845
|
export {};
|
|
788
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,8 +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";
|
|
64
|
-
/** The node has
|
|
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 */
|
|
65
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";
|
|
66
77
|
})(EventType || (EventType = {}));
|
|
67
78
|
export const eventTypes = {
|
|
68
79
|
[EventType.head]: EventType.head,
|
|
@@ -82,7 +93,10 @@ export const eventTypes = {
|
|
|
82
93
|
[EventType.payloadAttributes]: EventType.payloadAttributes,
|
|
83
94
|
[EventType.blobSidecar]: EventType.blobSidecar,
|
|
84
95
|
[EventType.dataColumnSidecar]: EventType.dataColumnSidecar,
|
|
96
|
+
[EventType.executionPayload]: EventType.executionPayload,
|
|
97
|
+
[EventType.executionPayloadGossip]: EventType.executionPayloadGossip,
|
|
85
98
|
[EventType.executionPayloadAvailable]: EventType.executionPayloadAvailable,
|
|
99
|
+
[EventType.executionPayloadBid]: EventType.executionPayloadBid,
|
|
86
100
|
};
|
|
87
101
|
export function getDefinitions(_config) {
|
|
88
102
|
return {
|
|
@@ -178,11 +192,42 @@ export function getTypeByEvent(config) {
|
|
|
178
192
|
[EventType.contributionAndProof]: ssz.altair.SignedContributionAndProof,
|
|
179
193
|
[EventType.payloadAttributes]: WithVersion((fork) => getPostBellatrixForkTypes(fork).SSEPayloadAttributes),
|
|
180
194
|
[EventType.blobSidecar]: blobSidecarSSE,
|
|
181
|
-
[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" }),
|
|
182
226
|
[EventType.executionPayloadAvailable]: new ContainerType({
|
|
183
227
|
slot: ssz.Slot,
|
|
184
228
|
blockRoot: stringType,
|
|
185
229
|
}, { jsonCase: "eth2" }),
|
|
230
|
+
[EventType.executionPayloadBid]: WithVersion((fork) => getPostGloasForkTypes(fork).SignedExecutionPayloadBid),
|
|
186
231
|
[EventType.lightClientOptimisticUpdate]: WithVersion((fork) => getPostAltairForkTypes(fork).LightClientOptimisticUpdate),
|
|
187
232
|
[EventType.lightClientFinalityUpdate]: WithVersion((fork) => getPostAltairForkTypes(fork).LightClientFinalityUpdate),
|
|
188
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":"AAAA,OAAO,EAAC,aAAa,EAAE,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAErE,OAAO,EAAW,8BAA8B,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAUL,UAAU,EAOV,GAAG,EACH,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAY,kBAAkB,EAAoB,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAC,sBAAsB,EAAE,yBAAyB,EAAE,qBAAqB,EAAC,MAAM,qBAAqB,CAAC;AAC7G,OAAO,EAA6B,MAAM,EAAC,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAEpD,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,aAAa,CAC7C;IACE,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,GAAG,CAAC,SAAS;IACpB,IAAI,EAAE,GAAG,CAAC,IAAI;IACd,aAAa,EAAE,UAAU;IACzB,aAAa,EAAE,UAAU;CAC1B,EACD,EAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAC,CAC/C,CAAC;AAGF,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,aAAa,CACvD;IACE,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,GAAG,CAAC,WAAW;IACtB,IAAI,EAAE,GAAG,CAAC,IAAI;IACd,cAAc,EAAE,IAAI,aAAa,CAAC,UAAU,EAAE,8BAA8B,CAAC;CAC9E,EACD,EAAC,QAAQ,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,EAAC,CACrD,CAAC;AACF,MAAM,yBAAyB,GAAG,IAAI,aAAa,CACjD;IACE,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,GAAG,CAAC,WAAW;IACtB,IAAI,EAAE,GAAG,CAAC,IAAI;CACf,EACD,EAAC,QAAQ,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,EAAC,CACrD,CAAC;SAKU,SAAS;AAArB,IAAY,SAgDX;AAhDD,WAAY,SAAS;IACnB;;;;;OAKG;IACH,0BAAa,CAAA;IACb,0HAA0H;IAC1H,4BAAe,CAAA;IACf,+GAA+G;IAC/G,yCAA4B,CAAA;IAC5B,kEAAkE;IAClE,wCAA2B,CAAA;IAC3B,wEAAwE;IACxE,qDAAwC,CAAA;IACxC,qEAAqE;IACrE,6CAAgC,CAAA;IAChC,wEAAwE;IACxE,mDAAsC,CAAA;IACtC,wEAAwE;IACxE,mDAAsC,CAAA;IACtC,2EAA2E;IAC3E,6DAAgD,CAAA;IAChD,4CAA4C;IAC5C,yDAA4C,CAAA;IAC5C,yCAAyC;IACzC,uCAA0B,CAAA;IAC1B,gGAAgG;IAChG,4DAA+C,CAAA;IAC/C,uDAAuD;IACvD,2EAA8D,CAAA;IAC9D,8CAA8C;IAC9C,uEAA0D,CAAA;IAC1D,4CAA4C;IAC5C,qDAAwC,CAAA;IACxC,kEAAkE;IAClE,yCAA4B,CAAA;IAC5B,wEAAwE;IACxE,sDAAyC,CAAA;IACzC,iKAAiK;IACjK,mDAAsC,CAAA;IACtC,+IAA+I;IAC/I,gEAAmD,CAAA;IACnD,6HAA6H;IAC7H,sEAAyD,CAAA;IACzD,+IAA+I;IAC/I,0DAA6C,CAAA;AAAC,CAChD,EAhDY,SAAS,KAAT,SAAS,QAgDpB;AAED,MAAM,CAAC,MAAM,UAAU,GAA0B;IAC/C,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI;IAChC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK;IAClC,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,WAAW;IAC9C,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,WAAW;IAC9C,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,iBAAiB;IAC1D,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,aAAa;IAClD,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,gBAAgB;IACxD,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,gBAAgB;IACxD,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC,oBAAoB;IAChE,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,SAAS,CAAC,mBAAmB;IAC9D,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,UAAU;IAC5C,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC,oBAAoB;IAChE,CAAC,SAAS,CAAC,2BAA2B,CAAC,EAAE,SAAS,CAAC,2BAA2B;IAC9E,CAAC,SAAS,CAAC,yBAAyB,CAAC,EAAE,SAAS,CAAC,yBAAyB;IAC1E,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,iBAAiB;IAC1D,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,WAAW;IAC9C,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,iBAAiB;IAC1D,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,gBAAgB;IACxD,CAAC,SAAS,CAAC,sBAAsB,CAAC,EAAE,SAAS,CAAC,sBAAsB;IACpE,CAAC,SAAS,CAAC,yBAAyB,CAAC,EAAE,SAAS,CAAC,yBAAyB;IAC1E,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,SAAS,CAAC,mBAAmB;CAC/D,CAAC;AAqGF,MAAM,UAAU,cAAc,CAAC,OAAwB,EAA+B;IACpF,OAAO;QACL,WAAW,EAAE;YACX,GAAG,EAAE,gBAAgB;YACrB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE;gBACH,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,EAAC,MAAM,EAAC,EAAC,CAAC;gBAC3C,QAAQ,EAAE,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAC,CAAoB;gBAClE,MAAM,EAAE;oBACN,KAAK,EAAE,EAAC,MAAM,EAAE,MAAM,CAAC,mBAAmB,EAAC;iBAC5C;aACF;YACD,IAAI,EAAE,kBAAkB;SACzB;KACF,CAAC;AAAA,CACH;AAOD,MAAM,UAAU,cAAc,CAAC,MAAuB,EAA8C;IAClG,MAAM,WAAW,GAAG,CAAI,OAAwC,EAA0C,EAAE,CAAC;QAC3G,OAAO;YACL,MAAM,EAAE,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,EAAE,EAAE,CAAC,CAAC;gBAC5B,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBACnC,OAAO;aACR,CAAC;YACF,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;gBACjB,MAAM,EAAC,OAAO,EAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC5C,OAAO;oBACL,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAE,GAAuB,CAAC,IAAI,CAAC;oBAC9D,OAAO;iBACR,CAAC;YAAA,CACH;SACF,CAAC;IAAA,CACH,CAAC;IAEF,OAAO;QACL,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,aAAa,CACjC;YACE,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,UAAU;YACjB,eAAe,EAAE,GAAG,CAAC,OAAO;YAC5B,yBAAyB,EAAE,UAAU;YACrC,wBAAwB,EAAE,UAAU;YACpC,mBAAmB,EAAE,GAAG,CAAC,OAAO;SACjC,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB;QAED,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,aAAa,CAClC;YACE,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,UAAU;YACjB,mBAAmB,EAAE,GAAG,CAAC,OAAO;SACjC,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB;QACD,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,IAAI,aAAa,CACxC;YACE,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,UAAU;SAClB,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB;QAED,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;YACvB,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvD,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAAA,CAC1D;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAE,WAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxE,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAAA,CAC5D;SACF;QACD,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,iBAAiB;QAC5D,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,mBAAmB;QACzD,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB;QACzD,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE;YAC5B,MAAM,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjF,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAAA,CACpE;YACD,QAAQ,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAE,gBAAqC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvG,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAAA,CACtE;SACF;QACD,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,0BAA0B;QAExE,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,IAAI,aAAa,CAChD;YACE,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,mBAAmB,EAAE,GAAG,CAAC,OAAO;SACjC,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB;QAED,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,aAAa,CACvC;YACE,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,SAAS;YACpB,YAAY,EAAE,UAAU;YACxB,YAAY,EAAE,UAAU;YACxB,YAAY,EAAE,UAAU;YACxB,YAAY,EAAE,UAAU;YACxB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,mBAAmB,EAAE,GAAG,CAAC,OAAO;SACjC,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB;QAED,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,0BAA0B;QACvE,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC;QAC1G,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,cAAc;QACvC,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE;YAC7B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBAChB,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,OAAO,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChD,CAAC;gBACD,OAAO,wBAAwB,CAAC,MAAM,CAAC,IAAgC,CAAC,CAAC;YAAA,CAC1E;YACD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClB,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAE,IAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7E,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,OAAO,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAClD,CAAC;gBACD,OAAO,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAAA,CAChD;SACF;QACD,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,IAAI,aAAa,CAC7C;YACE,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,SAAS,EAAE,UAAU;YACrB,SAAS,EAAE,UAAU;YACrB,SAAS,EAAE,UAAU;YACrB,mBAAmB,EAAE,GAAG,CAAC,OAAO;SACjC,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB;QACD,CAAC,SAAS,CAAC,sBAAsB,CAAC,EAAE,IAAI,aAAa,CACnD;YACE,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,SAAS,EAAE,UAAU;YACrB,SAAS,EAAE,UAAU;YACrB,SAAS,EAAE,UAAU;SACtB,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB;QACD,CAAC,SAAS,CAAC,yBAAyB,CAAC,EAAE,IAAI,aAAa,CACtD;YACE,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,UAAU;SACtB,EACD,EAAC,QAAQ,EAAE,MAAM,EAAC,CACnB;QACD,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,yBAAyB,CAAC;QAE7G,CAAC,SAAS,CAAC,2BAA2B,CAAC,EAAE,WAAW,CAClD,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,2BAA2B,CACnE;QACD,CAAC,SAAS,CAAC,yBAAyB,CAAC,EAAE,WAAW,CAChD,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,yBAAyB,CACjE;KACF,CAAC;AAAA,CACH;AAED,MAAM,UAAU,cAAc,CAAC,MAAuB,EAAE;IACtD,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAE3C,OAAO;QACL,MAAM,EAAE,CAAC,KAAkB,EAAW,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAqC,CAAC;YAC9E,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAAA,CACxC;QACD,QAAQ,EAAE,CAAC,IAAe,EAAE,IAAa,EAA0B,EAAE,CAAC;YACpE,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAqC,CAAC;YACxE,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAAA,CACjC;KACF,CAAC;AAAA,CACH"}
|
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.fb8f8a700e",
|
|
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.fb8f8a700e",
|
|
80
|
+
"@lodestar/params": "^1.42.0-dev.fb8f8a700e",
|
|
81
|
+
"@lodestar/types": "^1.42.0-dev.fb8f8a700e",
|
|
82
|
+
"@lodestar/utils": "^1.42.0-dev.fb8f8a700e",
|
|
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": "11ba4f46624b21d19bd49fed3ee7064f1ce581b3"
|
|
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,8 +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",
|
|
91
|
-
/** The node has
|
|
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 */
|
|
92
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",
|
|
93
111
|
}
|
|
94
112
|
|
|
95
113
|
export const eventTypes: {[K in EventType]: K} = {
|
|
@@ -110,7 +128,10 @@ export const eventTypes: {[K in EventType]: K} = {
|
|
|
110
128
|
[EventType.payloadAttributes]: EventType.payloadAttributes,
|
|
111
129
|
[EventType.blobSidecar]: EventType.blobSidecar,
|
|
112
130
|
[EventType.dataColumnSidecar]: EventType.dataColumnSidecar,
|
|
131
|
+
[EventType.executionPayload]: EventType.executionPayload,
|
|
132
|
+
[EventType.executionPayloadGossip]: EventType.executionPayloadGossip,
|
|
113
133
|
[EventType.executionPayloadAvailable]: EventType.executionPayloadAvailable,
|
|
134
|
+
[EventType.executionPayloadBid]: EventType.executionPayloadBid,
|
|
114
135
|
};
|
|
115
136
|
|
|
116
137
|
export type EventData = {
|
|
@@ -160,10 +181,26 @@ export type EventData = {
|
|
|
160
181
|
[EventType.payloadAttributes]: {version: ForkName; data: SSEPayloadAttributes};
|
|
161
182
|
[EventType.blobSidecar]: BlobSidecarSSE;
|
|
162
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
|
+
};
|
|
163
199
|
[EventType.executionPayloadAvailable]: {
|
|
164
200
|
slot: Slot;
|
|
165
201
|
blockRoot: RootHex;
|
|
166
202
|
};
|
|
203
|
+
[EventType.executionPayloadBid]: {version: ForkName; data: gloas.SignedExecutionPayloadBid};
|
|
167
204
|
};
|
|
168
205
|
|
|
169
206
|
export type BeaconEvent = {[K in EventType]: {type: K; message: EventData[K]}}[EventType];
|
|
@@ -317,7 +354,43 @@ export function getTypeByEvent(config: ChainForkConfig): {[K in EventType]: Type
|
|
|
317
354
|
[EventType.contributionAndProof]: ssz.altair.SignedContributionAndProof,
|
|
318
355
|
[EventType.payloadAttributes]: WithVersion((fork) => getPostBellatrixForkTypes(fork).SSEPayloadAttributes),
|
|
319
356
|
[EventType.blobSidecar]: blobSidecarSSE,
|
|
320
|
-
[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
|
+
),
|
|
321
394
|
[EventType.executionPayloadAvailable]: new ContainerType(
|
|
322
395
|
{
|
|
323
396
|
slot: ssz.Slot,
|
|
@@ -325,6 +398,7 @@ export function getTypeByEvent(config: ChainForkConfig): {[K in EventType]: Type
|
|
|
325
398
|
},
|
|
326
399
|
{jsonCase: "eth2"}
|
|
327
400
|
),
|
|
401
|
+
[EventType.executionPayloadBid]: WithVersion((fork) => getPostGloasForkTypes(fork).SignedExecutionPayloadBid),
|
|
328
402
|
|
|
329
403
|
[EventType.lightClientOptimisticUpdate]: WithVersion(
|
|
330
404
|
(fork) => getPostAltairForkTypes(fork).LightClientOptimisticUpdate
|