@lodestar/beacon-node 1.51.0-dev.5e25b73306 → 1.51.0-dev.708700cdf6

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.
Files changed (49) hide show
  1. package/lib/api/impl/validator/index.js +7 -5
  2. package/lib/api/impl/validator/index.js.map +1 -1
  3. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  4. package/lib/chain/blocks/importExecutionPayload.js +2 -1
  5. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  6. package/lib/chain/opPools/inclusionListStore.d.ts.map +1 -1
  7. package/lib/chain/opPools/inclusionListStore.js +2 -2
  8. package/lib/chain/opPools/inclusionListStore.js.map +1 -1
  9. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  10. package/lib/chain/produceBlock/produceBlockBody.js +0 -1
  11. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  12. package/lib/chain/validation/inclusionList.d.ts.map +1 -1
  13. package/lib/chain/validation/inclusionList.js +11 -2
  14. package/lib/chain/validation/inclusionList.js.map +1 -1
  15. package/lib/execution/engine/blobVersionedHashes.d.ts +1 -1
  16. package/lib/execution/engine/blobVersionedHashes.d.ts.map +1 -1
  17. package/lib/execution/engine/blobVersionedHashes.js.map +1 -1
  18. package/lib/execution/engine/http.d.ts.map +1 -1
  19. package/lib/execution/engine/http.js +0 -1
  20. package/lib/execution/engine/http.js.map +1 -1
  21. package/lib/execution/engine/mock.d.ts.map +1 -1
  22. package/lib/execution/engine/mock.js +6 -4
  23. package/lib/execution/engine/mock.js.map +1 -1
  24. package/lib/execution/engine/payloadIdCache.d.ts +1 -2
  25. package/lib/execution/engine/payloadIdCache.d.ts.map +1 -1
  26. package/lib/execution/engine/payloadIdCache.js +3 -3
  27. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  28. package/lib/execution/engine/sszTypes.d.ts +38 -38
  29. package/lib/execution/engine/types.d.ts +1 -1
  30. package/lib/execution/engine/types.d.ts.map +1 -1
  31. package/lib/execution/engine/types.js +7 -6
  32. package/lib/execution/engine/types.js.map +1 -1
  33. package/lib/network/gossip/topic.d.ts +6 -6
  34. package/lib/network/processor/index.d.ts.map +1 -1
  35. package/lib/network/processor/index.js +26 -25
  36. package/lib/network/processor/index.js.map +1 -1
  37. package/package.json +30 -30
  38. package/src/api/impl/validator/index.ts +7 -7
  39. package/src/chain/blocks/importExecutionPayload.ts +2 -1
  40. package/src/chain/opPools/inclusionListStore.ts +3 -3
  41. package/src/chain/produceBlock/produceBlockBody.ts +0 -1
  42. package/src/chain/validation/inclusionList.ts +11 -2
  43. package/src/execution/engine/blobVersionedHashes.ts +1 -1
  44. package/src/execution/engine/http.ts +0 -1
  45. package/src/execution/engine/mock.ts +6 -4
  46. package/src/execution/engine/payloadIdCache.ts +6 -7
  47. package/src/execution/engine/types.ts +8 -8
  48. package/src/network/processor/index.ts +22 -23
  49. package/src/network/processor/types.ts +1 -1
@@ -708,21 +708,22 @@ export class NetworkProcessor {
708
708
  onClockSlot = (clockSlot) => {
709
709
  const nowSec = Date.now() / 1000;
710
710
  const minSlot = clockSlot - MAX_UNKNOWN_ROOTS_SLOT_CACHE_SIZE;
711
- for (const [slot, searchedRoots] of this.searchedRootsBySlot) {
711
+ for (const [slot, bufferedRoots] of this.bufferedRootsBySlot) {
712
712
  if (slot > minSlot)
713
713
  continue;
714
- // expire messages awaiting an unknown block for these roots. Only roots this slot did a BLOCK search
715
- // for (blockPeerIds set) have block waits keyed here; skipping the rest avoids deleting a payload wait
716
- // that a newer slot created for the same root (block/envelope searches share searchedRootsBySlot).
717
- for (const [rootHex, entry] of searchedRoots) {
718
- if (entry.blockPeerIds === undefined)
719
- continue;
714
+ for (const rootHex of bufferedRoots) {
720
715
  const messagesByTopic = this.awaitingMessagesByBlockRoot.get(rootHex);
721
716
  if (messagesByTopic === undefined)
722
717
  continue;
723
- let removed = 0;
718
+ let remaining = 0;
724
719
  for (const messages of messagesByTopic.values()) {
725
720
  for (const message of messages) {
721
+ // the same root may be buffered again from a newer slot, keep those messages.
722
+ // msgSlot is always set before buffering, a missing one expires rather than leaks
723
+ if ((message.msgSlot ?? minSlot) > minSlot)
724
+ continue;
725
+ messages.delete(message);
726
+ this.awaitingBlockMessageCount--;
726
727
  const topicType = message.topic.type;
727
728
  this.metrics?.awaitingBlockGossipMessages.reject.inc({
728
729
  topic: topicType,
@@ -731,23 +732,24 @@ export class NetworkProcessor {
731
732
  this.metrics?.awaitingBlockGossipMessages.waitSecBeforeReject.set({ topic: topicType, reason: ReprocessRejectReason.expired }, nowSec - message.seenTimestampSec);
732
733
  // No need to report the dropped job to gossip. It will be eventually pruned from the mcache
733
734
  }
734
- removed += messages.size;
735
- }
736
- if (this.awaitingMessagesByBlockRoot.delete(rootHex)) {
737
- this.awaitingBlockMessageCount -= removed;
735
+ remaining += messages.size;
738
736
  }
737
+ if (remaining === 0)
738
+ this.awaitingMessagesByBlockRoot.delete(rootHex);
739
739
  }
740
- // expire messages awaiting an unknown payload envelope for these roots. Symmetric to the block pass:
741
- // only roots this slot did an ENVELOPE search for (envelopePeerIds set) have payload waits keyed here.
742
- for (const [rootHex, entry] of searchedRoots) {
743
- if (entry.envelopePeerIds === undefined)
744
- continue;
740
+ for (const rootHex of bufferedRoots) {
745
741
  const messagesByTopic = this.awaitingMessagesByPayloadBlockRoot.get(rootHex);
746
742
  if (messagesByTopic === undefined)
747
743
  continue;
748
- let removed = 0;
744
+ let remaining = 0;
749
745
  for (const messages of messagesByTopic.values()) {
750
746
  for (const message of messages) {
747
+ // the same root may be buffered again from a newer slot, keep those messages.
748
+ // msgSlot is always set before buffering, a missing one expires rather than leaks
749
+ if ((message.msgSlot ?? minSlot) > minSlot)
750
+ continue;
751
+ messages.delete(message);
752
+ this.awaitingPayloadMessageCount--;
751
753
  const topicType = message.topic.type;
752
754
  this.metrics?.awaitingPayloadGossipMessages.reject.inc({
753
755
  topic: topicType,
@@ -756,17 +758,16 @@ export class NetworkProcessor {
756
758
  this.metrics?.awaitingPayloadGossipMessages.waitSecBeforeReject.set({ topic: topicType, reason: ReprocessRejectReason.expired }, nowSec - message.seenTimestampSec);
757
759
  // No need to report the dropped job to gossip. It will be eventually pruned from the mcache
758
760
  }
759
- removed += messages.size;
760
- }
761
- if (this.awaitingMessagesByPayloadBlockRoot.delete(rootHex)) {
762
- this.awaitingPayloadMessageCount -= removed;
761
+ remaining += messages.size;
763
762
  }
763
+ if (remaining === 0)
764
+ this.awaitingMessagesByPayloadBlockRoot.delete(rootHex);
764
765
  }
765
- this.searchedRootsBySlot.delete(slot);
766
+ this.bufferedRootsBySlot.delete(slot);
766
767
  }
767
- for (const slot of this.bufferedRootsBySlot.keys()) {
768
+ for (const slot of this.searchedRootsBySlot.keys()) {
768
769
  if (slot <= minSlot)
769
- this.bufferedRootsBySlot.delete(slot);
770
+ this.searchedRootsBySlot.delete(slot);
770
771
  }
771
772
  for (const [peer, slot] of this.fatalPeers) {
772
773
  if (clockSlot - slot > FATAL_PEER_EXPIRY_SLOTS)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/processor/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/processor/index.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.51.0-dev.5e25b73306",
14
+ "version": "1.51.0-dev.708700cdf6",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -109,35 +109,35 @@
109
109
  "@chainsafe/persistent-merkle-tree": "^1.3.1",
110
110
  "@chainsafe/prometheus-gc-stats": "^1.0.0",
111
111
  "@chainsafe/snappy-wasm": "^0.5.2",
112
- "@chainsafe/ssz": "^1.8.1",
112
+ "@chainsafe/ssz": "^1.9.0",
113
113
  "@chainsafe/threads": "^1.11.3",
114
114
  "@crate-crypto/node-eth-kzg": "0.9.1",
115
115
  "@fastify/bearer-auth": "^10.0.1",
116
116
  "@fastify/cors": "^10.0.1",
117
117
  "@fastify/swagger": "^9.0.0",
118
118
  "@fastify/swagger-ui": "^5.0.1",
119
- "@libp2p/bootstrap": "^12.0.30",
120
- "@libp2p/crypto": "^5.1.23",
121
- "@libp2p/gossipsub": "^17.1.2",
122
- "@libp2p/identify": "^4.1.13",
123
- "@libp2p/interface": "^3.3.0",
124
- "@libp2p/mdns": "^12.0.30",
125
- "@libp2p/mplex": "^12.0.30",
126
- "@libp2p/peer-id": "^6.0.15",
127
- "@libp2p/prometheus-metrics": "^5.0.28",
128
- "@libp2p/tcp": "^11.0.27",
129
- "@libp2p/utils": "^7.4.0",
130
- "@lodestar/api": "^1.51.0-dev.5e25b73306",
131
- "@lodestar/config": "^1.51.0-dev.5e25b73306",
132
- "@lodestar/db": "^1.51.0-dev.5e25b73306",
133
- "@lodestar/fork-choice": "^1.51.0-dev.5e25b73306",
134
- "@lodestar/logger": "^1.51.0-dev.5e25b73306",
135
- "@lodestar/params": "^1.51.0-dev.5e25b73306",
136
- "@lodestar/reqresp": "^1.51.0-dev.5e25b73306",
137
- "@lodestar/state-transition": "^1.51.0-dev.5e25b73306",
138
- "@lodestar/types": "^1.51.0-dev.5e25b73306",
139
- "@lodestar/utils": "^1.51.0-dev.5e25b73306",
140
- "@lodestar/validator": "^1.51.0-dev.5e25b73306",
119
+ "@libp2p/bootstrap": "^12.0.34",
120
+ "@libp2p/crypto": "^5.1.25",
121
+ "@libp2p/gossipsub": "^17.1.4",
122
+ "@libp2p/identify": "^4.1.16",
123
+ "@libp2p/interface": "^3.4.0",
124
+ "@libp2p/mdns": "^12.0.34",
125
+ "@libp2p/mplex": "^12.0.34",
126
+ "@libp2p/peer-id": "^6.0.17",
127
+ "@libp2p/prometheus-metrics": "^5.0.31",
128
+ "@libp2p/tcp": "^11.0.30",
129
+ "@libp2p/utils": "^7.4.3",
130
+ "@lodestar/api": "^1.51.0-dev.708700cdf6",
131
+ "@lodestar/config": "^1.51.0-dev.708700cdf6",
132
+ "@lodestar/db": "^1.51.0-dev.708700cdf6",
133
+ "@lodestar/fork-choice": "^1.51.0-dev.708700cdf6",
134
+ "@lodestar/logger": "^1.51.0-dev.708700cdf6",
135
+ "@lodestar/params": "^1.51.0-dev.708700cdf6",
136
+ "@lodestar/reqresp": "^1.51.0-dev.708700cdf6",
137
+ "@lodestar/state-transition": "^1.51.0-dev.708700cdf6",
138
+ "@lodestar/types": "^1.51.0-dev.708700cdf6",
139
+ "@lodestar/utils": "^1.51.0-dev.708700cdf6",
140
+ "@lodestar/validator": "^1.51.0-dev.708700cdf6",
141
141
  "@multiformats/multiaddr": "^13.0.1",
142
142
  "datastore-core": "^12.0.1",
143
143
  "datastore-level": "^13.0.1",
@@ -145,7 +145,7 @@
145
145
  "fastify": "^5.8.1",
146
146
  "interface-datastore": "^10.0.1",
147
147
  "jwt-simple": "0.5.6",
148
- "libp2p": "3.3.9",
148
+ "libp2p": "3.4.0",
149
149
  "multiformats": "^13.4.2",
150
150
  "prom-client": "^15.1.0",
151
151
  "qs": "^6.14.2",
@@ -157,10 +157,10 @@
157
157
  },
158
158
  "devDependencies": {
159
159
  "@ethereumjs/rlp": "^4.0.1",
160
- "@libp2p/interface-internal": "^3.1.12",
161
- "@libp2p/logger": "^6.2.13",
162
- "@lodestar/spec-test-util": "^1.51.0-dev.5e25b73306",
163
- "@lodestar/test-utils": "^1.51.0-dev.5e25b73306",
160
+ "@libp2p/interface-internal": "^3.2.0",
161
+ "@libp2p/logger": "^6.2.15",
162
+ "@lodestar/spec-test-util": "^1.51.0-dev.708700cdf6",
163
+ "@lodestar/test-utils": "^1.51.0-dev.708700cdf6",
164
164
  "@types/js-yaml": "^4.0.5",
165
165
  "@types/qs": "^6.9.7",
166
166
  "@types/tmp": "^0.2.3",
@@ -175,5 +175,5 @@
175
175
  "beacon",
176
176
  "blockchain"
177
177
  ],
178
- "gitHead": "567ed0a2eed4216219e3d492432ed565c7a4383a"
178
+ "gitHead": "a697182d9deba9f84937ecb94dc3d9b26ec45c2c"
179
179
  }
@@ -254,13 +254,13 @@ export function getValidatorApi(
254
254
  genesisBlockRoot = state.computeAnchorCheckpoint().checkpoint.root;
255
255
  } else if (state.slot < SLOTS_PER_HISTORICAL_ROOT) {
256
256
  genesisBlockRoot = state.getBlockRootAtSlot(GENESIS_SLOT);
257
- }
258
-
259
- const blockRes = await chain.getCanonicalBlockAtSlot(GENESIS_SLOT);
260
- if (blockRes) {
261
- genesisBlockRoot = config
262
- .getForkTypes(blockRes.block.message.slot)
263
- .SignedBeaconBlock.hashTreeRoot(blockRes.block);
257
+ } else {
258
+ const blockRes = await chain.getCanonicalBlockAtSlot(GENESIS_SLOT);
259
+ if (blockRes) {
260
+ genesisBlockRoot = config
261
+ .getForkTypes(blockRes.block.message.slot)
262
+ .BeaconBlock.hashTreeRoot(blockRes.block.message);
263
+ }
264
264
  }
265
265
  }
266
266
 
@@ -1,3 +1,4 @@
1
+ import {SerializedList} from "@chainsafe/ssz";
1
2
  import {routes} from "@lodestar/api";
2
3
  import {
3
4
  ExecutionStatus,
@@ -206,7 +207,7 @@ export async function importExecutionPayload(
206
207
  }
207
208
  inclusionListTransactions =
208
209
  dependentRoot === null
209
- ? []
210
+ ? SerializedList.empty()
210
211
  : this.inclusionListStore.getInclusionListTransactions(inclusionListSlot, dependentRoot, true);
211
212
  }
212
213
 
@@ -1,4 +1,4 @@
1
- import {BitArray} from "@chainsafe/ssz";
1
+ import {BitArray, SerializedList} from "@chainsafe/ssz";
2
2
  import {BeaconConfig} from "@lodestar/config";
3
3
  import {INCLUSION_LIST_COMMITTEE_SIZE} from "@lodestar/params";
4
4
  import {RootHex, Slot, ValidatorIndex, bellatrix, heze, ssz} from "@lodestar/types";
@@ -108,7 +108,7 @@ export class InclusionListStore {
108
108
 
109
109
  /** Deduplicated transactions from valid, non-equivocating inclusion lists at `(slot, dependentRoot)`. */
110
110
  getInclusionListTransactions(slot: Slot, dependentRoot: RootHex, onlyTimely = true): bellatrix.Transactions {
111
- const transactions: bellatrix.Transactions = [];
111
+ const transactions: Uint8Array[] = [];
112
112
  const seen = new Set<string>();
113
113
 
114
114
  for (const {signedInclusionList} of this.getEligible(slot, dependentRoot, onlyTimely)) {
@@ -121,7 +121,7 @@ export class InclusionListStore {
121
121
  }
122
122
  }
123
123
 
124
- return transactions;
124
+ return SerializedList.fromArray(transactions);
125
125
  }
126
126
 
127
127
  /** Bit `i` is set when committee member `i` submitted a valid, non-equivocating inclusion list */
@@ -781,7 +781,6 @@ export async function prepareExecutionPayload(
781
781
 
782
782
  const payloadIdCached = chain.executionEngine.payloadIdCache.get({
783
783
  headBlockHash: toRootHex(parentBlockHash),
784
- finalizedBlockHash,
785
784
  timestamp: numToQuantity(timestamp),
786
785
  prevRandao: toHex(prevRandao),
787
786
  suggestedFeeRecipient,
@@ -31,7 +31,10 @@ export async function validateGossipInclusionList(
31
31
  signedInclusionList: heze.SignedInclusionList
32
32
  ): Promise<InclusionListValidationResult> {
33
33
  const {slot, validatorIndex, transactions, dependentRoot} = signedInclusionList.message;
34
- const totalBytes = transactions.reduce((total, transaction) => total + transaction.byteLength, 0);
34
+ let totalBytes = 0;
35
+ for (let i = 0; i < transactions.length; i++) {
36
+ totalBytes += transactions.getSize(i);
37
+ }
35
38
 
36
39
  // A pre-heze slot has no inclusion list committee to validate against
37
40
  if (!isForkPostHeze(chain.config.getForkName(slot))) {
@@ -75,7 +78,13 @@ export async function validateGossipInclusionList(
75
78
  }
76
79
 
77
80
  // [REJECT] Every transaction in message.transactions is non-empty
78
- const emptyTransactionIndex = transactions.findIndex((transaction) => transaction.byteLength === 0);
81
+ let emptyTransactionIndex = -1;
82
+ for (let i = 0; i < transactions.length; i++) {
83
+ if (transactions.getSize(i) === 0) {
84
+ emptyTransactionIndex = i;
85
+ break;
86
+ }
87
+ }
79
88
  if (emptyTransactionIndex !== -1) {
80
89
  throw new InclusionListError(GossipAction.REJECT, {
81
90
  code: InclusionListErrorCode.EMPTY_TRANSACTION,
@@ -7,7 +7,7 @@ import {VersionedHashes} from "./interface.js";
7
7
  * Skip unrelated fields without decoding or copying them, including untrusted nested access lists.
8
8
  * The EL remains responsible for the other transaction validity checks.
9
9
  */
10
- export function isValidBlobVersionedHashes(transactions: Uint8Array[], expected: VersionedHashes): boolean {
10
+ export function isValidBlobVersionedHashes(transactions: Iterable<Uint8Array>, expected: VersionedHashes): boolean {
11
11
  let index = 0;
12
12
  for (const transaction of transactions) {
13
13
  if (transaction.length === 0) return false;
@@ -367,7 +367,6 @@ export class ExecutionEngineHttp implements IExecutionEngine {
367
367
  this.payloadIdCache.add(
368
368
  {
369
369
  headBlockHash,
370
- finalizedBlockHash,
371
370
  ...payloadAttributesRpc,
372
371
  inclusionListTransactions: payloadAttributes.inclusionListTransactions,
373
372
  },
@@ -1,4 +1,5 @@
1
1
  import crypto from "node:crypto";
2
+ import {SerializedList} from "@chainsafe/ssz";
2
3
  import {ChainConfig} from "@lodestar/config";
3
4
  import {
4
5
  BLOB_TX_TYPE,
@@ -352,14 +353,14 @@ export class ExecutionEngineMockBackend implements JsonRpcBackend {
352
353
  executionPayload.gasUsed = Math.floor(0.5 * INTEROP_GAS_LIMIT);
353
354
  executionPayload.timestamp = payloadAttributes.timestamp;
354
355
  executionPayload.blockHash = crypto.randomBytes(32);
355
- executionPayload.transactions = [];
356
+ const transactions: Uint8Array[] = [];
356
357
 
357
358
  // Between 0 and 4 transactions for all forks
358
359
  const eip1559TxCount = Math.round(4 * Math.random());
359
360
  for (let i = 0; i < eip1559TxCount; i++) {
360
361
  const tx = crypto.randomBytes(512);
361
362
  tx[0] = TX_TYPE_EIP1559;
362
- executionPayload.transactions.push(tx);
363
+ transactions.push(tx);
363
364
  }
364
365
 
365
366
  const commitments: deneb.KZGCommitment[] = [];
@@ -373,7 +374,7 @@ export class ExecutionEngineMockBackend implements JsonRpcBackend {
373
374
  const blob = generateRandomBlob();
374
375
  const commitment = kzg.blobToKzgCommitment(blob);
375
376
  const {proofs: cellProofs} = kzg.computeCellsAndKzgProofs(blob);
376
- executionPayload.transactions.push(transactionForKzgCommitment(commitment));
377
+ transactions.push(transactionForKzgCommitment(commitment));
377
378
  commitments.push(commitment);
378
379
  blobs.push(blob);
379
380
  proofs.push(...cellProofs);
@@ -385,12 +386,13 @@ export class ExecutionEngineMockBackend implements JsonRpcBackend {
385
386
  const blob = generateRandomBlob();
386
387
  const commitment = kzg.blobToKzgCommitment(blob);
387
388
  const proof = kzg.computeBlobKzgProof(blob, commitment);
388
- executionPayload.transactions.push(transactionForKzgCommitment(commitment));
389
+ transactions.push(transactionForKzgCommitment(commitment));
389
390
  commitments.push(commitment);
390
391
  blobs.push(blob);
391
392
  proofs.push(proof);
392
393
  }
393
394
  }
395
+ executionPayload.transactions = SerializedList.fromArray(transactions);
394
396
 
395
397
  if (ForkSeq[fork] >= ForkSeq.capella) {
396
398
  (executionPayload as ExecutionPayload<ForkPostCapella>).withdrawals = ssz.capella.Withdrawals.defaultValue();
@@ -19,10 +19,9 @@ export type WithdrawalV1 = {
19
19
  amount: QUANTITY;
20
20
  };
21
21
 
22
- type FcuAttributes = {headBlockHash: DATA; finalizedBlockHash: DATA} & Omit<
23
- PayloadAttributesRpc,
24
- "withdrawals" | "inclusionListTransactions"
25
- > & {inclusionListTransactions?: bellatrix.Transactions};
22
+ type FcuAttributes = {headBlockHash: DATA} & Omit<PayloadAttributesRpc, "withdrawals" | "inclusionListTransactions"> & {
23
+ inclusionListTransactions?: bellatrix.Transactions;
24
+ };
26
25
 
27
26
  export class PayloadIdCache {
28
27
  private readonly payloadIdByFcuAttributes = new Map<
@@ -30,8 +29,8 @@ export class PayloadIdCache {
30
29
  {payloadId: PayloadId; fullKey: string; inclusionListTransactions?: bellatrix.Transactions}
31
30
  >();
32
31
 
33
- getFullKey({headBlockHash, finalizedBlockHash, timestamp, prevRandao, suggestedFeeRecipient}: FcuAttributes): string {
34
- return `${headBlockHash}-${finalizedBlockHash}-${timestamp}-${prevRandao}-${suggestedFeeRecipient}`;
32
+ getFullKey({headBlockHash, timestamp, prevRandao, suggestedFeeRecipient}: FcuAttributes): string {
33
+ return `${headBlockHash}-${timestamp}-${prevRandao}-${suggestedFeeRecipient}`;
35
34
  }
36
35
  getKey({timestamp}: Pick<FcuAttributes, "timestamp">): string {
37
36
  return timestamp;
@@ -69,5 +68,5 @@ function isSameInclusionList(a?: bellatrix.Transactions, b?: bellatrix.Transacti
69
68
  if (a === undefined || b === undefined) {
70
69
  return a === b;
71
70
  }
72
- return a.length === b.length && a.every((transaction, i) => byteArrayEquals(transaction, b[i]));
71
+ return byteArrayEquals(a.bytes, b.bytes);
73
72
  }
@@ -1,4 +1,4 @@
1
- import {Type} from "@chainsafe/ssz";
1
+ import {SerializedList, Type} from "@chainsafe/ssz";
2
2
  import {
3
3
  BUILDER_DEPOSIT_REQUEST_TYPE,
4
4
  BUILDER_EXIT_REQUEST_TYPE,
@@ -181,7 +181,7 @@ export type ExecutionPayloadBodyRpc = {
181
181
  };
182
182
 
183
183
  export type ExecutionPayloadBody = {
184
- transactions: bellatrix.Transaction[];
184
+ transactions: bellatrix.Transactions;
185
185
  withdrawals: capella.Withdrawals | null;
186
186
  };
187
187
 
@@ -316,7 +316,7 @@ export function serializeExecutionPayload(fork: ForkName, data: ExecutionPayload
316
316
  extraData: bytesToData(data.extraData),
317
317
  baseFeePerGas: numToQuantity(data.baseFeePerGas),
318
318
  blockHash: bytesToData(data.blockHash),
319
- transactions: data.transactions.map((tran) => bytesToData(tran)),
319
+ transactions: Array.from(data.transactions, (tran) => bytesToData(tran)),
320
320
  };
321
321
 
322
322
  // Capella adds withdrawals to the ExecutionPayload
@@ -400,7 +400,7 @@ export function parseExecutionPayload(
400
400
  extraData: dataToBytes(data.extraData, null),
401
401
  baseFeePerGas: quantityToBigint(data.baseFeePerGas),
402
402
  blockHash: dataToBytes(data.blockHash, 32),
403
- transactions: data.transactions.map((tran) => dataToBytes(tran, null)),
403
+ transactions: SerializedList.fromArray(data.transactions.map((tran) => dataToBytes(tran, null))),
404
404
  };
405
405
 
406
406
  if (ForkSeq[fork] >= ForkSeq.capella) {
@@ -474,11 +474,11 @@ export function serializeBeaconBlockRoot(data: Root): DATA {
474
474
  }
475
475
 
476
476
  export function serializeInclusionList(data: bellatrix.Transactions): InclusionListRpc {
477
- return data.map((transaction) => bytesToData(transaction));
477
+ return Array.from(data, (transaction) => bytesToData(transaction));
478
478
  }
479
479
 
480
480
  export function deserializeInclusionList(data: InclusionListRpc): bellatrix.Transactions {
481
- return data.map((transaction) => dataToBytes(transaction, null));
481
+ return SerializedList.fromArray(data.map((transaction) => dataToBytes(transaction, null)));
482
482
  }
483
483
 
484
484
  export function deserializePayloadAttributes(data: PayloadAttributesRpc): PayloadAttributes {
@@ -670,7 +670,7 @@ export function deserializeExecutionRequests(fork: ForkName, serialized: Executi
670
670
  export function deserializeExecutionPayloadBody(data: ExecutionPayloadBodyRpc | null): ExecutionPayloadBody | null {
671
671
  return data
672
672
  ? {
673
- transactions: data.transactions.map((tran) => dataToBytes(tran, null)),
673
+ transactions: SerializedList.fromArray(data.transactions.map((tran) => dataToBytes(tran, null))),
674
674
  withdrawals: data.withdrawals ? data.withdrawals.map(deserializeWithdrawal) : null,
675
675
  }
676
676
  : null;
@@ -693,7 +693,7 @@ export function serializeExecutionPayloadBodyV2(data: ExecutionPayloadBodyV2 | n
693
693
  export function serializeExecutionPayloadBody(data: ExecutionPayloadBody | null): ExecutionPayloadBodyRpc | null {
694
694
  return data
695
695
  ? {
696
- transactions: data.transactions.map((tran) => bytesToData(tran)),
696
+ transactions: Array.from(data.transactions, (tran) => bytesToData(tran)),
697
697
  withdrawals: data.withdrawals ? data.withdrawals.map(serializeWithdrawal) : null,
698
698
  }
699
699
  : null;