@lodestar/beacon-node 1.33.0 → 1.34.0-dev.25bf0b65b8

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 (232) hide show
  1. package/lib/api/impl/beacon/blocks/index.js +113 -29
  2. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  3. package/lib/api/impl/debug/index.d.ts +1 -1
  4. package/lib/api/impl/debug/index.js +24 -1
  5. package/lib/api/impl/debug/index.js.map +1 -1
  6. package/lib/api/impl/validator/index.js +6 -0
  7. package/lib/api/impl/validator/index.js.map +1 -1
  8. package/lib/chain/archiveStore/archiveStore.d.ts +1 -1
  9. package/lib/chain/archiveStore/archiveStore.js +2 -2
  10. package/lib/chain/archiveStore/interface.d.ts +1 -1
  11. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +1 -1
  12. package/lib/chain/archiveStore/utils/archiveBlocks.js +91 -23
  13. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  14. package/lib/chain/beaconProposerCache.d.ts +1 -0
  15. package/lib/chain/beaconProposerCache.js +3 -0
  16. package/lib/chain/beaconProposerCache.js.map +1 -1
  17. package/lib/chain/blocks/importBlock.js +3 -2
  18. package/lib/chain/blocks/importBlock.js.map +1 -1
  19. package/lib/chain/blocks/types.d.ts +66 -23
  20. package/lib/chain/blocks/types.js +39 -5
  21. package/lib/chain/blocks/types.js.map +1 -1
  22. package/lib/chain/blocks/verifyBlocksDataAvailability.js +21 -10
  23. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  24. package/lib/chain/blocks/writeBlockInputToDb.js +89 -15
  25. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  26. package/lib/chain/chain.d.ts +17 -28
  27. package/lib/chain/chain.js +70 -5
  28. package/lib/chain/chain.js.map +1 -1
  29. package/lib/chain/emitter.d.ts +18 -2
  30. package/lib/chain/emitter.js +13 -0
  31. package/lib/chain/emitter.js.map +1 -1
  32. package/lib/chain/errors/dataColumnSidecarError.d.ts +69 -0
  33. package/lib/chain/errors/dataColumnSidecarError.js +21 -0
  34. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -0
  35. package/lib/chain/errors/index.d.ts +1 -0
  36. package/lib/chain/errors/index.js +1 -0
  37. package/lib/chain/errors/index.js.map +1 -1
  38. package/lib/chain/interface.d.ts +10 -4
  39. package/lib/chain/interface.js.map +1 -1
  40. package/lib/chain/options.d.ts +4 -1
  41. package/lib/chain/options.js +1 -0
  42. package/lib/chain/options.js.map +1 -1
  43. package/lib/chain/produceBlock/produceBlockBody.d.ts +4 -2
  44. package/lib/chain/produceBlock/produceBlockBody.js +7 -2
  45. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  46. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts +3 -2
  47. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js +25 -2
  48. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
  49. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +64 -18
  50. package/lib/chain/seenCache/seenGossipBlockInput.js +321 -53
  51. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  52. package/lib/chain/validation/dataColumnSidecar.d.ts +28 -0
  53. package/lib/chain/validation/dataColumnSidecar.js +248 -0
  54. package/lib/chain/validation/dataColumnSidecar.js.map +1 -0
  55. package/lib/db/beacon.d.ts +3 -1
  56. package/lib/db/beacon.js +3 -1
  57. package/lib/db/beacon.js.map +1 -1
  58. package/lib/db/buckets.d.ts +3 -1
  59. package/lib/db/buckets.js +2 -0
  60. package/lib/db/buckets.js.map +1 -1
  61. package/lib/db/interface.d.ts +3 -1
  62. package/lib/db/repositories/dataColumnSidecars.d.ts +47 -0
  63. package/lib/db/repositories/dataColumnSidecars.js +40 -0
  64. package/lib/db/repositories/dataColumnSidecars.js.map +1 -0
  65. package/lib/db/repositories/dataColumnSidecarsArchive.d.ts +15 -0
  66. package/lib/db/repositories/dataColumnSidecarsArchive.js +23 -0
  67. package/lib/db/repositories/dataColumnSidecarsArchive.js.map +1 -0
  68. package/lib/db/repositories/index.d.ts +2 -0
  69. package/lib/db/repositories/index.js +2 -0
  70. package/lib/db/repositories/index.js.map +1 -1
  71. package/lib/execution/engine/http.d.ts +6 -3
  72. package/lib/execution/engine/http.js +56 -42
  73. package/lib/execution/engine/http.js.map +1 -1
  74. package/lib/execution/engine/interface.d.ts +4 -2
  75. package/lib/execution/engine/interface.js +1 -1
  76. package/lib/execution/engine/interface.js.map +1 -1
  77. package/lib/execution/engine/mock.d.ts +1 -0
  78. package/lib/execution/engine/mock.js +5 -0
  79. package/lib/execution/engine/mock.js.map +1 -1
  80. package/lib/execution/engine/types.d.ts +10 -0
  81. package/lib/execution/engine/types.js +6 -0
  82. package/lib/execution/engine/types.js.map +1 -1
  83. package/lib/metrics/metrics/beacon.d.ts +14 -0
  84. package/lib/metrics/metrics/beacon.js +57 -0
  85. package/lib/metrics/metrics/beacon.js.map +1 -1
  86. package/lib/metrics/metrics/lodestar.d.ts +23 -1
  87. package/lib/metrics/metrics/lodestar.js +39 -0
  88. package/lib/metrics/metrics/lodestar.js.map +1 -1
  89. package/lib/network/core/metrics.d.ts +10 -3
  90. package/lib/network/core/metrics.js +22 -4
  91. package/lib/network/core/metrics.js.map +1 -1
  92. package/lib/network/core/networkCore.d.ts +10 -4
  93. package/lib/network/core/networkCore.js +31 -11
  94. package/lib/network/core/networkCore.js.map +1 -1
  95. package/lib/network/core/networkCoreWorker.js +2 -0
  96. package/lib/network/core/networkCoreWorker.js.map +1 -1
  97. package/lib/network/core/networkCoreWorkerHandler.d.ts +5 -3
  98. package/lib/network/core/networkCoreWorkerHandler.js +6 -1
  99. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  100. package/lib/network/core/types.d.ts +7 -4
  101. package/lib/network/events.d.ts +4 -2
  102. package/lib/network/events.js.map +1 -1
  103. package/lib/network/gossip/interface.d.ts +8 -1
  104. package/lib/network/gossip/interface.js +1 -0
  105. package/lib/network/gossip/interface.js.map +1 -1
  106. package/lib/network/gossip/topic.d.ts +1047 -1031
  107. package/lib/network/gossip/topic.js +20 -1
  108. package/lib/network/gossip/topic.js.map +1 -1
  109. package/lib/network/interface.d.ts +9 -1
  110. package/lib/network/metadata.d.ts +9 -5
  111. package/lib/network/metadata.js +26 -5
  112. package/lib/network/metadata.js.map +1 -1
  113. package/lib/network/network.d.ts +12 -2
  114. package/lib/network/network.js +68 -11
  115. package/lib/network/network.js.map +1 -1
  116. package/lib/network/networkConfig.d.ts +12 -0
  117. package/lib/network/networkConfig.js +2 -0
  118. package/lib/network/networkConfig.js.map +1 -0
  119. package/lib/network/options.d.ts +1 -0
  120. package/lib/network/options.js +5 -0
  121. package/lib/network/options.js.map +1 -1
  122. package/lib/network/peers/discover.d.ts +8 -3
  123. package/lib/network/peers/discover.js +99 -14
  124. package/lib/network/peers/discover.js.map +1 -1
  125. package/lib/network/peers/peerManager.d.ts +10 -4
  126. package/lib/network/peers/peerManager.js +90 -13
  127. package/lib/network/peers/peerManager.js.map +1 -1
  128. package/lib/network/peers/peersData.d.ts +17 -3
  129. package/lib/network/peers/peersData.js.map +1 -1
  130. package/lib/network/peers/score/interface.d.ts +1 -1
  131. package/lib/network/peers/score/score.d.ts +2 -2
  132. package/lib/network/peers/score/score.js +4 -1
  133. package/lib/network/peers/score/score.js.map +1 -1
  134. package/lib/network/peers/score/store.d.ts +3 -1
  135. package/lib/network/peers/score/store.js +6 -2
  136. package/lib/network/peers/score/store.js.map +1 -1
  137. package/lib/network/peers/utils/assertPeerRelevance.d.ts +7 -3
  138. package/lib/network/peers/utils/assertPeerRelevance.js +10 -1
  139. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  140. package/lib/network/peers/utils/prioritizePeers.d.ts +18 -7
  141. package/lib/network/peers/utils/prioritizePeers.js +43 -7
  142. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  143. package/lib/network/processor/extractSlotRootFns.js +8 -1
  144. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  145. package/lib/network/processor/gossipHandlers.js +149 -9
  146. package/lib/network/processor/gossipHandlers.js.map +1 -1
  147. package/lib/network/processor/gossipQueues/index.js +5 -0
  148. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  149. package/lib/network/processor/index.js +1 -0
  150. package/lib/network/processor/index.js.map +1 -1
  151. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +2 -2
  152. package/lib/network/reqresp/ReqRespBeaconNode.js +36 -14
  153. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  154. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +21 -4
  155. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +225 -14
  156. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
  157. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +32 -6
  158. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +283 -28
  159. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
  160. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +1 -1
  161. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  162. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts +8 -0
  163. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +92 -0
  164. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -0
  165. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts +6 -0
  166. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +50 -0
  167. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -0
  168. package/lib/network/reqresp/handlers/index.js +10 -0
  169. package/lib/network/reqresp/handlers/index.js.map +1 -1
  170. package/lib/network/reqresp/protocols.d.ts +4 -0
  171. package/lib/network/reqresp/protocols.js +20 -0
  172. package/lib/network/reqresp/protocols.js.map +1 -1
  173. package/lib/network/reqresp/rateLimit.js +11 -1
  174. package/lib/network/reqresp/rateLimit.js.map +1 -1
  175. package/lib/network/reqresp/score.js +3 -0
  176. package/lib/network/reqresp/score.js.map +1 -1
  177. package/lib/network/reqresp/types.d.ts +11 -4
  178. package/lib/network/reqresp/types.js +12 -3
  179. package/lib/network/reqresp/types.js.map +1 -1
  180. package/lib/network/statusCache.d.ts +5 -5
  181. package/lib/network/statusCache.js.map +1 -1
  182. package/lib/network/subnets/interface.d.ts +3 -0
  183. package/lib/network/subnets/interface.js +14 -1
  184. package/lib/network/subnets/interface.js.map +1 -1
  185. package/lib/network/subnets/syncnetsService.js +4 -5
  186. package/lib/network/subnets/syncnetsService.js.map +1 -1
  187. package/lib/node/nodejs.js +1 -0
  188. package/lib/node/nodejs.js.map +1 -1
  189. package/lib/sync/constants.d.ts +18 -3
  190. package/lib/sync/constants.js +21 -3
  191. package/lib/sync/constants.js.map +1 -1
  192. package/lib/sync/interface.d.ts +2 -2
  193. package/lib/sync/interface.js +1 -1
  194. package/lib/sync/interface.js.map +1 -1
  195. package/lib/sync/range/batch.d.ts +17 -2
  196. package/lib/sync/range/batch.js +39 -7
  197. package/lib/sync/range/batch.js.map +1 -1
  198. package/lib/sync/range/chain.d.ts +15 -1
  199. package/lib/sync/range/chain.js +124 -33
  200. package/lib/sync/range/chain.js.map +1 -1
  201. package/lib/sync/range/range.d.ts +3 -2
  202. package/lib/sync/range/range.js +9 -3
  203. package/lib/sync/range/range.js.map +1 -1
  204. package/lib/sync/range/utils/chainTarget.d.ts +5 -1
  205. package/lib/sync/range/utils/chainTarget.js +26 -1
  206. package/lib/sync/range/utils/chainTarget.js.map +1 -1
  207. package/lib/sync/range/utils/peerBalancer.d.ts +17 -5
  208. package/lib/sync/range/utils/peerBalancer.js +85 -10
  209. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  210. package/lib/sync/sync.js +1 -1
  211. package/lib/sync/sync.js.map +1 -1
  212. package/lib/sync/unknownBlock.d.ts +8 -1
  213. package/lib/sync/unknownBlock.js +226 -69
  214. package/lib/sync/unknownBlock.js.map +1 -1
  215. package/lib/sync/utils/remoteSyncType.d.ts +4 -4
  216. package/lib/sync/utils/remoteSyncType.js.map +1 -1
  217. package/lib/util/blobs.d.ts +23 -1
  218. package/lib/util/blobs.js +156 -1
  219. package/lib/util/blobs.js.map +1 -1
  220. package/lib/util/dataColumns.d.ts +135 -0
  221. package/lib/util/dataColumns.js +353 -0
  222. package/lib/util/dataColumns.js.map +1 -0
  223. package/lib/util/metadata.d.ts +5 -0
  224. package/lib/util/metadata.js +10 -0
  225. package/lib/util/metadata.js.map +1 -1
  226. package/lib/util/sszBytes.d.ts +1 -0
  227. package/lib/util/sszBytes.js +17 -0
  228. package/lib/util/sszBytes.js.map +1 -1
  229. package/package.json +14 -14
  230. package/lib/network/reqresp/handlers/status.d.ts +0 -4
  231. package/lib/network/reqresp/handlers/status.js +0 -11
  232. package/lib/network/reqresp/handlers/status.js.map +0 -1
@@ -1,11 +1,16 @@
1
1
  import { Direction, PeerId } from "@libp2p/interface";
2
- import { SubnetID, altair, phase0 } from "@lodestar/types";
2
+ import { CustodyIndex, Status, SubnetID, altair, phase0 } from "@lodestar/types";
3
+ import { NetworkCoreMetrics } from "../../core/metrics.js";
3
4
  import { RequestedSubnet } from "./subnetMap.js";
4
5
  type SubnetDiscvQuery = {
5
6
  subnet: SubnetID;
6
7
  toSlot: number;
7
8
  maxPeersToDiscover: number;
8
9
  };
10
+ /**
11
+ * A map of das custody group index to maxPeersToDiscover
12
+ */
13
+ export type CustodyGroupQueries = Map<CustodyIndex, number>;
9
14
  /**
10
15
  * Comparison of our status vs a peer's status.
11
16
  *
@@ -25,20 +30,22 @@ type PeerInfo = {
25
30
  statusScore: StatusScore;
26
31
  attnets: phase0.AttestationSubnets;
27
32
  syncnets: altair.SyncSubnets;
33
+ samplingGroups: CustodyIndex[];
28
34
  attnetsTrueBitIndices: number[];
29
35
  syncnetsTrueBitIndices: number[];
30
36
  score: number;
31
37
  };
32
- export interface PrioritizePeersOpts {
38
+ export type PrioritizePeersOpts = {
33
39
  targetPeers: number;
34
40
  maxPeers: number;
35
- status: phase0.Status;
41
+ targetGroupPeers: number;
42
+ status: Status;
36
43
  starved: boolean;
37
44
  starvationPruneRatio: number;
38
45
  starvationThresholdSlots: number;
39
46
  outboundPeersRatio?: number;
40
47
  targetSubnetPeers?: number;
41
- }
48
+ };
42
49
  export declare enum ExcessPeerDisconnectReason {
43
50
  LOW_SCORE = "low_score",
44
51
  NO_LONG_LIVED_SUBNET = "no_long_lived_subnet",
@@ -50,21 +57,25 @@ export declare enum ExcessPeerDisconnectReason {
50
57
  * - Reach `targetPeers`
51
58
  * - If we're starved for data, prune additional peers
52
59
  * - Don't exceed `maxPeers`
53
- * - Ensure there are enough peers per active subnet
60
+ * - Ensure there are enough peers per column subnets, attestation subnets and sync committee subnets
54
61
  * - Prioritize peers with good score
62
+ *
63
+ * pre-fulu samplingGroups is not used and this function returns empty custodyGroupQueries
55
64
  */
56
65
  export declare function prioritizePeers(connectedPeersInfo: {
57
66
  id: PeerId;
58
67
  direction: Direction | null;
59
- status: phase0.Status | null;
68
+ status: Status | null;
60
69
  attnets: phase0.AttestationSubnets | null;
61
70
  syncnets: altair.SyncSubnets | null;
71
+ samplingGroups: CustodyIndex[] | null;
62
72
  score: number;
63
- }[], activeAttnets: RequestedSubnet[], activeSyncnets: RequestedSubnet[], opts: PrioritizePeersOpts): {
73
+ }[], activeAttnets: RequestedSubnet[], activeSyncnets: RequestedSubnet[], samplingGroups: CustodyIndex[] | undefined, opts: PrioritizePeersOpts, metrics: NetworkCoreMetrics | null): {
64
74
  peersToConnect: number;
65
75
  peersToDisconnect: Map<ExcessPeerDisconnectReason, PeerId[]>;
66
76
  attnetQueries: SubnetDiscvQuery[];
67
77
  syncnetQueries: SubnetDiscvQuery[];
78
+ custodyGroupQueries: CustodyGroupQueries;
68
79
  };
69
80
  /**
70
81
  * Sort peers ascending, peer-0 has the most chance to prune, peer-n has the least.
@@ -1,10 +1,15 @@
1
1
  import { BitArray } from "@chainsafe/ssz";
2
- import { ATTESTATION_SUBNET_COUNT, SYNC_COMMITTEE_SUBNET_COUNT } from "@lodestar/params";
2
+ import { ATTESTATION_SUBNET_COUNT, NUMBER_OF_CUSTODY_GROUPS, SYNC_COMMITTEE_SUBNET_COUNT } from "@lodestar/params";
3
3
  import { MapDef } from "@lodestar/utils";
4
4
  import { shuffle } from "../../../util/shuffle.js";
5
5
  import { sortBy } from "../../../util/sortBy.js";
6
6
  /** Target number of peers we'd like to have connected to a given long-lived subnet */
7
7
  const TARGET_SUBNET_PEERS = 6;
8
+ /**
9
+ * This is for non-sampling groups only. This is a very easy number to achieve given an average of 6.25 peers per column subnet on public networks.
10
+ * This is needed to always maintain some minimum peers on all subnets so that when we publish a block, we're sure we pubish to all column subnets.
11
+ */
12
+ const TARGET_GROUP_PEERS_PER_SUBNET = 4;
8
13
  /**
9
14
  * This is used in the pruning logic. We avoid pruning peers on sync-committees if doing so would
10
15
  * lower our peer count below this number. Instead we favour a non-uniform distribution of subnet
@@ -75,10 +80,12 @@ export var ExcessPeerDisconnectReason;
75
80
  * - Reach `targetPeers`
76
81
  * - If we're starved for data, prune additional peers
77
82
  * - Don't exceed `maxPeers`
78
- * - Ensure there are enough peers per active subnet
83
+ * - Ensure there are enough peers per column subnets, attestation subnets and sync committee subnets
79
84
  * - Prioritize peers with good score
85
+ *
86
+ * pre-fulu samplingGroups is not used and this function returns empty custodyGroupQueries
80
87
  */
81
- export function prioritizePeers(connectedPeersInfo, activeAttnets, activeSyncnets, opts) {
88
+ export function prioritizePeers(connectedPeersInfo, activeAttnets, activeSyncnets, samplingGroups, opts, metrics) {
82
89
  const { targetPeers, maxPeers } = opts;
83
90
  let peersToConnect = 0;
84
91
  const peersToDisconnect = new MapDef(() => []);
@@ -89,11 +96,12 @@ export function prioritizePeers(connectedPeersInfo, activeAttnets, activeSyncnet
89
96
  statusScore: computeStatusScore(opts.status, peer.status, opts),
90
97
  attnets: peer.attnets ?? attnetsZero,
91
98
  syncnets: peer.syncnets ?? syncnetsZero,
99
+ samplingGroups: peer.samplingGroups ?? [],
92
100
  attnetsTrueBitIndices: peer.attnets?.getTrueBitIndexes() ?? [],
93
101
  syncnetsTrueBitIndices: peer.syncnets?.getTrueBitIndexes() ?? [],
94
102
  score: peer.score,
95
103
  }));
96
- const { attnetQueries, syncnetQueries, dutiesByPeer } = requestAttnetPeers(connectedPeers, activeAttnets, activeSyncnets, opts);
104
+ const { attnetQueries, syncnetQueries, custodyGroupQueries, dutiesByPeer } = requestSubnetPeers(connectedPeers, activeAttnets, activeSyncnets, samplingGroups, opts, metrics);
97
105
  const connectedPeerCount = connectedPeers.length;
98
106
  if (connectedPeerCount < targetPeers) {
99
107
  // Need more peers.
@@ -112,12 +120,14 @@ export function prioritizePeers(connectedPeersInfo, activeAttnets, activeSyncnet
112
120
  peersToDisconnect,
113
121
  attnetQueries,
114
122
  syncnetQueries,
123
+ custodyGroupQueries,
115
124
  };
116
125
  }
117
126
  /**
118
- * If more peers are needed in attnets and syncnets, create SubnetDiscvQuery for each subnet
127
+ * If more peers are needed in attnets and syncnets and column subnets, create SubnetDiscvQuery for each subnet
128
+ * pre-fulu samplingGroups is not used and this function returns empty custodyGroupQueries
119
129
  */
120
- function requestAttnetPeers(connectedPeers, activeAttnets, activeSyncnets, opts) {
130
+ function requestSubnetPeers(connectedPeers, activeAttnets, activeSyncnets, ourSamplingGroups, opts, metrics) {
121
131
  const { targetSubnetPeers = TARGET_SUBNET_PEERS } = opts;
122
132
  const attnetQueries = [];
123
133
  const syncnetQueries = [];
@@ -169,7 +179,33 @@ function requestAttnetPeers(connectedPeers, activeAttnets, activeSyncnets, opts)
169
179
  }
170
180
  }
171
181
  }
172
- return { attnetQueries, syncnetQueries, dutiesByPeer };
182
+ const custodyGroupQueries = new Map();
183
+ // pre-fulu
184
+ if (ourSamplingGroups == null) {
185
+ return { attnetQueries, syncnetQueries, custodyGroupQueries, dutiesByPeer };
186
+ }
187
+ // column subnets, do we need queries for more peers
188
+ const targetGroupPeersPerSamplingGroup = opts.targetGroupPeers;
189
+ const peersPerGroup = new Map();
190
+ for (const peer of connectedPeers) {
191
+ const peerSamplingGroups = peer.samplingGroups;
192
+ for (const group of peerSamplingGroups) {
193
+ peersPerGroup.set(group, 1 + (peersPerGroup.get(group) ?? 0));
194
+ }
195
+ }
196
+ const ourSamplingGroupSet = new Set(ourSamplingGroups);
197
+ for (let groupIndex = 0; groupIndex < NUMBER_OF_CUSTODY_GROUPS; groupIndex++) {
198
+ const peersInGroup = peersPerGroup.get(groupIndex) ?? 0;
199
+ metrics?.peerCountPerSamplingGroup.set({ groupIndex }, peersInGroup);
200
+ const targetGroupPeers = ourSamplingGroupSet.has(groupIndex)
201
+ ? targetGroupPeersPerSamplingGroup
202
+ : TARGET_GROUP_PEERS_PER_SUBNET;
203
+ if (peersInGroup < targetGroupPeers) {
204
+ // We need more peers
205
+ custodyGroupQueries.set(groupIndex, targetGroupPeers - peersInGroup);
206
+ }
207
+ }
208
+ return { attnetQueries, syncnetQueries, custodyGroupQueries, dutiesByPeer };
173
209
  }
174
210
  /**
175
211
  * Remove excess peers back down to our target values.
@@ -1 +1 @@
1
- {"version":3,"file":"prioritizePeers.js","sourceRoot":"","sources":["../../../../src/network/peers/utils/prioritizePeers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAC,wBAAwB,EAAE,2BAA2B,EAAC,MAAM,kBAAkB,CAAC;AAEvF,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,yBAAyB,CAAC;AAG/C,sFAAsF;AACtF,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC;;;GAGG;AACH,MAAM,oCAAoC,GAAG,CAAC,CAAC,CAAC;AAEhD;;;;GAIG;AACH,MAAM,iCAAiC,GAAG,CAAC,CAAC;AAE5C;;GAEG;AACH,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;AAClE,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;AAItE;;;;;;GAMG;AACH,IAAK,WAKJ;AALD,WAAK,WAAW;IACd,qCAAqC;IACrC,4DAAgB,CAAA;IAChB,qCAAqC;IACrC,uDAAa,CAAA;AACf,CAAC,EALI,WAAW,KAAX,WAAW,QAKf;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,IAAmB,EAAE,MAA4B,EAAE,IAAyB;IACtG,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC,WAAW,CAAC;IACjC,CAAC;IAED,IAAI,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAChD,OAAO,WAAW,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACpE,OAAO,WAAW,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED,yDAAyD;IACzD,wHAAwH;IACxH,yEAAyE;IACzE,mCAAmC;IACnC,IAAI;IAEJ,OAAO,WAAW,CAAC,WAAW,CAAC;AACjC,CAAC;AAwBD,MAAM,CAAN,IAAY,0BAKX;AALD,WAAY,0BAA0B;IACpC,qDAAuB,CAAA;IACvB,2EAA6C,CAAA;IAC7C,uEAAyC,CAAA;IACzC,qEAAuC,CAAA;AACzC,CAAC,EALW,0BAA0B,KAA1B,0BAA0B,QAKrC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,kBAOG,EACH,aAAgC,EAChC,cAAiC,EACjC,IAAyB;IAOzB,MAAM,EAAC,WAAW,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC;IAErC,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAuC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAErF,2FAA2F;IAC3F,MAAM,cAAc,GAAG,kBAAkB,CAAC,GAAG,CAC3C,CAAC,IAAI,EAAY,EAAE,CAAC,CAAC;QACnB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;QAC/D,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,WAAW;QACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,YAAY;QACvC,qBAAqB,EAAE,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE;QAC9D,sBAAsB,EAAE,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE;QAChE,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CACH,CAAC;IAEF,MAAM,EAAC,aAAa,EAAE,cAAc,EAAE,YAAY,EAAC,GAAG,kBAAkB,CACtE,cAAc,EACd,aAAa,EACb,cAAc,EACd,IAAI,CACL,CAAC;IAEF,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC;IAEjD,IAAI,kBAAkB,GAAG,WAAW,EAAE,CAAC;QACrC,mBAAmB;QACnB,6GAA6G;QAC7G,iHAAiH;QACjH,iHAAiH;QACjH,cAAc,GAAG,IAAI,CAAC,GAAG,CACvB,iCAAiC,GAAG,CAAC,WAAW,GAAG,kBAAkB,CAAC;QACtE,kGAAkG;QAClG,QAAQ,GAAG,kBAAkB,CAC9B,CAAC;IACJ,CAAC;SAAM,IAAI,kBAAkB,GAAG,WAAW,EAAE,CAAC;QAC5C,gBAAgB,CAAC,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACzF,CAAC;IAED,OAAO;QACL,cAAc;QACd,iBAAiB;QACjB,aAAa;QACb,cAAc;KACf,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,cAA0B,EAC1B,aAAgC,EAChC,cAAiC,EACjC,IAAyB;IAMzB,MAAM,EAAC,iBAAiB,GAAG,mBAAmB,EAAC,GAAG,IAAI,CAAC;IACvD,MAAM,aAAa,GAAuB,EAAE,CAAC;IAC7C,MAAM,cAAc,GAAuB,EAAE,CAAC;IAE9C,wFAAwF;IACxF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEjD,6CAA6C;IAC7C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,8DAA8D;QAC9D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEjD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC;YAClD,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,KAAK,MAAM,EAAC,MAAM,EAAC,IAAI,aAAa,EAAE,CAAC;gBACrC,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpC,SAAS,IAAI,CAAC,CAAC;oBACf,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACpC,CAAC;QAED,KAAK,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,IAAI,aAAa,EAAE,CAAC;YAC7C,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,aAAa,GAAG,iBAAiB,EAAE,CAAC;gBACtC,qBAAqB;gBACrB,aAAa,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,GAAG,aAAa,EAAC,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,8DAA8D;QAC9D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEjD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC;YACnD,IAAI,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,KAAK,MAAM,EAAC,MAAM,EAAC,IAAI,cAAc,EAAE,CAAC;gBACtC,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpC,SAAS,IAAI,CAAC,CAAC;oBACf,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACpC,CAAC;QAED,KAAK,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,IAAI,cAAc,EAAE,CAAC;YAC9C,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,aAAa,GAAG,iBAAiB,EAAE,CAAC;gBACtC,qBAAqB;gBACrB,cAAc,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,GAAG,aAAa,EAAC,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAC,aAAa,EAAE,cAAc,EAAE,YAAY,EAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,gBAAgB,CACvB,cAA0B,EAC1B,YAAmC,EACnC,aAAgC,EAChC,iBAA+D,EAC/D,IAAyB;IAEzB,MAAM,EAAC,WAAW,EAAE,iBAAiB,GAAG,mBAAmB,EAAE,kBAAkB,GAAG,oBAAoB,EAAC,GAAG,IAAI,CAAC;IAC/G,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC;IACjD,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,CAAC;IAEhF,uBAAuB;IACvB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YAClC,aAAa,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,+BAA+B,GAAG,CAAC,CAAC;IAExC,MAAM,WAAW,GAAG,gBAAgB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAEnE,MAAM,uBAAuB,GAAG,WAAW;QACzC,iGAAiG;SAChG,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,iDAAiD;QACjD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2EAA2E;QAC3E,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC,SAAS,EAAE,CAAC;YAC/D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,gGAAgG;QAChG,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YAClC,IAAI,aAAa,GAAG,+BAA+B,GAAG,mBAAmB,EAAE,CAAC;gBAC1E,+BAA+B,EAAE,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEL,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAC/B,MAAM,kCAAkC,GAAa,EAAE,CAAC;IAExD,MAAM,uBAAuB;IAC3B,oDAAoD;IACpD,kBAAkB,GAAG,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElG,gFAAgF;IAChF,wDAAwD;IACxD,yEAAyE;IACzE,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3G,IAAI,CAAC,kBAAkB,IAAI,sBAAsB,GAAG,uBAAuB,EAAE,CAAC;YAC5E,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,sBAAsB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,iBAAiB,CAAC,GAAG,CAAC,0BAA0B,CAAC,oBAAoB,EAAE,kCAAkC,CAAC,CAAC;IAE3G,6EAA6E;IAC7E,MAAM,yBAAyB,GAAa,EAAE,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;QAC3C,IACE,IAAI,CAAC,KAAK,GAAG,oCAAoC;YACjD,sBAAsB,GAAG,uBAAuB;YAChD,CAAC,kCAAkC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EACrD,CAAC;YACD,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,sBAAsB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,iBAAiB,CAAC,GAAG,CAAC,0BAA0B,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;IAEvF,+DAA+D;IAC/D,MAAM,2BAA2B,GAAa,EAAE,CAAC;IACjD,IAAI,sBAAsB,GAAG,uBAAuB,EAAE,CAAC;QACrD,uCAAuC;QACvC,MAAM,aAAa,GAAG,IAAI,MAAM,CAAqB,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/D,gDAAgD;QAChD,MAAM,sBAAsB,GAAG,IAAI,MAAM,CAAiB,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAEnE,+BAA+B;QAC/B,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,IAAI,kCAAkC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxG,SAAS;YACX,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAChD,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACjD,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,sBAAsB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAED,OAAO,sBAAsB,GAAG,uBAAuB,EAAE,CAAC;YACxD,MAAM,cAAc,GAAG,kBAAkB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;YAC5E,kEAAkE;YAClE,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;gBAC5B,MAAM;YACR,CAAC;YAED,MAAM,wBAAwB,GAAG,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACnE,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;gBAC3C,MAAM;YACR,CAAC;YAED,uDAAuD;YACvD,MAAM,WAAW,GAAG,gBAAgB,CAClC,aAAa,EACb,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,CACd,CAAC;YAEF,qEAAqE;YACrE,4DAA4D;YAC5D,mFAAmF;YACnF,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;gBACxB,wBAAwB;gBACxB,2BAA2B,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;gBACxD,8BAA8B,CAAC,sBAAsB,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC;gBAE3F,2BAA2B,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACjD,sBAAsB,EAAE,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,4CAA4C;gBAC5C,sDAAsD;gBACtD,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,iBAAiB,CAAC,GAAG,CAAC,0BAA0B,CAAC,kBAAkB,EAAE,2BAA2B,CAAC,CAAC;QAElG,+CAA+C;QAC/C,yFAAyF;QACzF,sGAAsG;QACtG,uEAAuE;QACvE,kFAAkF;QAClF,wDAAwD;QACxD,MAAM,0BAA0B,GAAa,EAAE,CAAC;QAChD,KAAK,MAAM,EAAC,EAAE,EAAC,IAAI,WAAW,EAAE,CAAC;YAC/B,IAAI,sBAAsB,IAAI,uBAAuB,EAAE,CAAC;gBACtD,MAAM;YACR,CAAC;YACD,IACE,kCAAkC,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/C,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC,EACxC,CAAC;gBACD,SAAS;YACX,CAAC;YACD,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpC,sBAAsB,EAAE,CAAC;QAC3B,CAAC;QAED,iBAAiB,CAAC,GAAG,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,CAAC;IAClG,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,cAA0B,EAAE,YAAmC;IAC9F,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QAC7C,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;YACpD,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,WAAW,CAAC;YACrB,CAAC;YACD,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CACzD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,sBAAsB,CAAC,MAAM,CACxE,CAAC;YACF,IAAI,iBAAiB,KAAK,iBAAiB,EAAE,CAAC;gBAC5C,OAAO,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;YAC7B,CAAC;YACD,OAAO,iBAAiB,GAAG,iBAAiB,CAAC;QAC/C,CAAC;QACD,OAAO,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,aAAsC,EAAE,iBAAyB;IAC3F,IAAI,cAAc,GAAoB,IAAI,CAAC;IAC3C,IAAI,qBAAqB,GAAG,CAAC,CAAC,CAAC;IAE/B,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,iBAAiB,IAAI,KAAK,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;YAC7E,cAAc,GAAG,MAAM,CAAC;YACxB,qBAAqB,GAAG,KAAK,CAAC,MAAM,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CACvB,aAAsC,EACtC,sBAA2C,EAC3C,wBAAoC,EACpC,iBAAyB,EACzB,aAAgC;IAEhC,MAAM,aAAa,GAAG,MAAM,CAAC,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACpG,IAAI,WAAW,GAAoB,IAAI,CAAC;IACxC,KAAK,MAAM,aAAa,IAAI,aAAa,EAAE,CAAC;QAC1C,wBAAwB;QACxB,MAAM,aAAa,GAAG,aAAa,CAAC,qBAAqB,CAAC;QAC1D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAClF,IAAI,cAAc,GAAG,wBAAwB,CAAC;YAC9C,wEAAwE;YACxE,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;gBACtC,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBACzD,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,GAAG,cAAc,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtG,cAAc,GAAG,cAAc,CAAC;gBAClC,CAAC;YACH,CAAC;YACD,yEAAyE;YACzE,IAAI,cAAc,IAAI,iBAAiB,EAAE,CAAC;gBACxC,SAAS;YACX,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,MAAM,cAAc,GAAG,aAAa,CAAC,sBAAsB,CAAC;QAC5D,4DAA4D;QAC5D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5G,kDAAkD;YAClD,wDAAwD;YACxD,kBAAkB;YAClB,IAAI,cAAc,IAAI,wBAAwB,EAAE,CAAC;gBAC/C,SAAS;YACX,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,WAAW,GAAG,aAAa,CAAC;QAC5B,MAAM;IACR,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,2BAA2B,CAAC,aAAsC,EAAE,WAAqB;IAChG,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QAC9D,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,8BAA8B,CACrC,sBAA8C,EAC9C,UAAgC;IAEhC,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,MAAM,aAAa,IAAI,UAAU,EAAE,CAAC;YACvC,sBAAsB,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjH,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"prioritizePeers.js","sourceRoot":"","sources":["../../../../src/network/peers/utils/prioritizePeers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { getBlockRootFromBeaconAttestationSerialized, getBlockRootFromSignedAggregateAndProofSerialized, getSlotFromBeaconAttestationSerialized, getSlotFromBlobSidecarSerialized, getSlotFromSignedAggregateAndProofSerialized, getSlotFromSignedBeaconBlockSerialized, } from "../../util/sszBytes.js";
1
+ import { getBlockRootFromBeaconAttestationSerialized, getBlockRootFromSignedAggregateAndProofSerialized, getSlotFromBeaconAttestationSerialized, getSlotFromBlobSidecarSerialized, getSlotFromDataColumnSidecarSerialized, getSlotFromSignedAggregateAndProofSerialized, getSlotFromSignedBeaconBlockSerialized, } from "../../util/sszBytes.js";
2
2
  import { GossipType } from "../gossip/index.js";
3
3
  /**
4
4
  * Extract the slot and block root of a gossip message form serialized data.
@@ -36,6 +36,13 @@ export function createExtractBlockSlotRootFns() {
36
36
  }
37
37
  return { slot };
38
38
  },
39
+ [GossipType.data_column_sidecar]: (data) => {
40
+ const slot = getSlotFromDataColumnSidecarSerialized(data);
41
+ if (slot === null) {
42
+ return null;
43
+ }
44
+ return { slot };
45
+ },
39
46
  };
40
47
  }
41
48
  //# sourceMappingURL=extractSlotRootFns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extractSlotRootFns.js","sourceRoot":"","sources":["../../../src/network/processor/extractSlotRootFns.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,2CAA2C,EAC3C,iDAAiD,EACjD,sCAAsC,EACtC,gCAAgC,EAChC,4CAA4C,EAC5C,sCAAsC,GACvC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAG9C;;;GAGG;AACH,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAgB,EAAE,IAAc,EAAsB,EAAE;YACxF,MAAM,IAAI,GAAG,sCAAsC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,2CAA2C,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAErE,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;QACtB,CAAC;QACD,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,CAAC,IAAgB,EAAsB,EAAE;YAChF,MAAM,IAAI,GAAG,4CAA4C,CAAC,IAAI,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,iDAAiD,CAAC,IAAI,CAAC,CAAC;YAErE,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;QACtB,CAAC;QACD,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,IAAgB,EAA2B,EAAE;YACvE,MAAM,IAAI,GAAG,sCAAsC,CAAC,IAAI,CAAC,CAAC;YAE1D,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAC,IAAI,EAAC,CAAC;QAChB,CAAC;QACD,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,IAAgB,EAA2B,EAAE;YACvE,MAAM,IAAI,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;YAEpD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAC,IAAI,EAAC,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"extractSlotRootFns.js","sourceRoot":"","sources":["../../../src/network/processor/extractSlotRootFns.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,2CAA2C,EAC3C,iDAAiD,EACjD,sCAAsC,EACtC,gCAAgC,EAChC,sCAAsC,EACtC,4CAA4C,EAC5C,sCAAsC,GACvC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAG9C;;;GAGG;AACH,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAgB,EAAE,IAAc,EAAsB,EAAE;YACxF,MAAM,IAAI,GAAG,sCAAsC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,2CAA2C,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAErE,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;QACtB,CAAC;QACD,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,CAAC,IAAgB,EAAsB,EAAE;YAChF,MAAM,IAAI,GAAG,4CAA4C,CAAC,IAAI,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,iDAAiD,CAAC,IAAI,CAAC,CAAC;YAErE,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;QACtB,CAAC;QACD,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,IAAgB,EAA2B,EAAE;YACvE,MAAM,IAAI,GAAG,sCAAsC,CAAC,IAAI,CAAC,CAAC;YAE1D,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAC,IAAI,EAAC,CAAC;QAChB,CAAC;QACD,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,IAAgB,EAA2B,EAAE;YACvE,MAAM,IAAI,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;YAEpD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAC,IAAI,EAAC,CAAC;QAChB,CAAC;QACD,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAgB,EAA2B,EAAE;YAC9E,MAAM,IAAI,GAAG,sCAAsC,CAAC,IAAI,CAAC,CAAC;YAE1D,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAC,IAAI,EAAC,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -3,9 +3,10 @@ import { ForkSeq, isForkPostElectra } from "@lodestar/params";
3
3
  import { computeTimeAtSlot } from "@lodestar/state-transition";
4
4
  import { ssz, sszTypesFor, } from "@lodestar/types";
5
5
  import { LogLevel, prettyBytes, toHex, toRootHex } from "@lodestar/utils";
6
- import { BlobSidecarValidation, BlockInputType, GossipedInputType, } from "../../chain/blocks/types.js";
7
- import { AttestationError, AttestationErrorCode, BlobSidecarErrorCode, BlobSidecarGossipError, BlockError, BlockErrorCode, BlockGossipError, GossipAction, GossipActionError, SyncCommitteeError, } from "../../chain/errors/index.js";
6
+ import { BlobSidecarValidation, BlockInputType, DataColumnsSource, GossipedInputType, } from "../../chain/blocks/types.js";
7
+ import { AttestationError, AttestationErrorCode, BlobSidecarErrorCode, BlobSidecarGossipError, BlockError, BlockErrorCode, BlockGossipError, DataColumnSidecarGossipError, GossipAction, GossipActionError, SyncCommitteeError, } from "../../chain/errors/index.js";
8
8
  import { validateGossipBlobSidecar } from "../../chain/validation/blobSidecar.js";
9
+ import { validateGossipDataColumnSidecar } from "../../chain/validation/dataColumnSidecar.js";
9
10
  import { toElectraSingleAttestation, validateGossipAggregateAndProof, validateGossipAttestationsSameAttData, validateGossipAttesterSlashing, validateGossipBlock, validateGossipBlsToExecutionChange, validateGossipProposerSlashing, validateGossipSyncCommittee, validateGossipVoluntaryExit, validateSyncCommitteeGossipContributionAndProof, } from "../../chain/validation/index.js";
10
11
  import { validateLightClientFinalityUpdate } from "../../chain/validation/lightClientFinalityUpdate.js";
11
12
  import { validateLightClientOptimisticUpdate } from "../../chain/validation/lightClientOptimisticUpdate.js";
@@ -149,6 +150,58 @@ function getSequentialHandlers(modules, options) {
149
150
  throw e;
150
151
  }
151
152
  }
153
+ async function validateBeaconDataColumn(dataColumnSidecar, dataColumnBytes, gossipSubnet, peerIdStr, seenTimestampSec) {
154
+ metrics?.peerDas.dataColumnSidecarProcessingRequests.inc();
155
+ const verificationTimer = metrics?.peerDas.dataColumnSidecarGossipVerificationTime.startTimer();
156
+ const dataColumnBlockHeader = dataColumnSidecar.signedBlockHeader.message;
157
+ const slot = dataColumnBlockHeader.slot;
158
+ const blockRootHex = toRootHex(ssz.phase0.BeaconBlockHeader.hashTreeRoot(dataColumnBlockHeader));
159
+ const blockShortHex = prettyBytes(blockRootHex);
160
+ const delaySec = chain.clock.secFromSlot(slot, seenTimestampSec);
161
+ const recvToValLatency = Date.now() / 1000 - seenTimestampSec;
162
+ try {
163
+ await validateGossipDataColumnSidecar(chain, dataColumnSidecar, gossipSubnet, metrics);
164
+ const { blockInput, blockInputMeta } = chain.seenGossipBlockInput.getGossipBlockInput(config, {
165
+ type: GossipedInputType.dataColumn,
166
+ dataColumnSidecar,
167
+ dataColumnBytes,
168
+ }, metrics);
169
+ const recvToValidation = Date.now() / 1000 - seenTimestampSec;
170
+ const validationTime = recvToValidation - recvToValLatency;
171
+ metrics?.peerDas.dataColumnSidecarProcessingSuccesses.inc();
172
+ metrics?.gossipBlob.recvToValidation.observe(recvToValidation);
173
+ metrics?.gossipBlob.validationTime.observe(validationTime);
174
+ chain.emitter.emit(routes.events.EventType.dataColumnSidecar, {
175
+ blockRoot: blockRootHex,
176
+ slot,
177
+ index: dataColumnSidecar.index,
178
+ kzgCommitments: dataColumnSidecar.kzgCommitments.map(toHex),
179
+ });
180
+ logger.debug("Received gossip dataColumn", {
181
+ slot: slot,
182
+ root: blockShortHex,
183
+ currentSlot: chain.clock.currentSlot,
184
+ peerId: peerIdStr,
185
+ delaySec,
186
+ gossipSubnet,
187
+ columnIndex: dataColumnSidecar.index,
188
+ ...blockInputMeta,
189
+ recvToValLatency,
190
+ recvToValidation,
191
+ validationTime,
192
+ });
193
+ return blockInput;
194
+ }
195
+ catch (e) {
196
+ if (e instanceof DataColumnSidecarGossipError && e.action === GossipAction.REJECT) {
197
+ chain.persistInvalidSszValue(ssz.fulu.DataColumnSidecar, dataColumnSidecar, `gossip_reject_slot_${slot}_index_${dataColumnSidecar.index}`);
198
+ }
199
+ throw e;
200
+ }
201
+ finally {
202
+ verificationTimer?.();
203
+ }
204
+ }
152
205
  function handleValidBeaconBlock(blockInput, peerIdStr, seenTimestampSec) {
153
206
  const signedBlock = blockInput.block;
154
207
  // Handler - MUST NOT `await`, to allow validation result to be propagated
@@ -161,7 +214,7 @@ function getSequentialHandlers(modules, options) {
161
214
  }
162
215
  else if (blockInput.type === BlockInputType.availableData) {
163
216
  metrics?.blockInputFetchStats.totalDataAvailableBlockInputs.inc();
164
- metrics?.blockInputFetchStats.totalDataAvailableBlockInputBlobs.inc(blockInput.blockData.blobs.length);
217
+ metrics?.blockInputFetchStats.totalDataAvailableBlockInputBlobs.inc(blockInput.block.message.body.blobKzgCommitments.length);
165
218
  }
166
219
  chain
167
220
  .processBlock(blockInput, {
@@ -228,6 +281,20 @@ function getSequentialHandlers(modules, options) {
228
281
  logger[logLevel]("Error receiving block", { slot: signedBlock.message.slot, peer: peerIdStr }, e);
229
282
  chain.seenGossipBlockInput.prune();
230
283
  });
284
+ if (blockInput.type === BlockInputType.dataPromise) {
285
+ const blockSlot = blockInput.block.message.slot;
286
+ // if blobs are not yet fully available start an aggressive blob pull
287
+ chain.logger.debug("Block under processing is not available, racing with cutoff to add to unknownBlockInput", {
288
+ blockSlot,
289
+ });
290
+ raceWithCutoff(chain, blockSlot, blockInput.cachedData.availabilityPromise, BLOCK_AVAILABILITY_CUTOFF_MS).catch((_e) => {
291
+ chain.logger.debug("Block under processing not yet available, racing with cutoff to add to unknownBlockInput", {
292
+ blockSlot,
293
+ });
294
+ events.emit(NetworkEvent.unknownBlockInput, { blockInput, peer: peerIdStr });
295
+ return null;
296
+ });
297
+ }
231
298
  }
232
299
  return {
233
300
  [GossipType.beacon_block]: async ({ gossipData, topic, peerIdStr, seenTimestampSec, }) => {
@@ -247,10 +314,18 @@ function getSequentialHandlers(modules, options) {
247
314
  }
248
315
  const blockInput = await validateBeaconBlob(blobSidecar, topic.subnet, peerIdStr, seenTimestampSec);
249
316
  if (blockInput.block !== null) {
250
- // we can just queue up the blockInput in the processor, but block gossip handler would have already
251
- // queued it up.
252
- //
253
- // handleValidBeaconBlock(blockInput, peerIdStr, seenTimestampSec);
317
+ if (blockInput.type === BlockInputType.dataPromise) {
318
+ chain.logger.debug("Block corresponding to blob is available but waiting for data availability", {
319
+ blobSlot,
320
+ index,
321
+ });
322
+ await raceWithCutoff(chain, blobSlot, blockInput.cachedData.availabilityPromise, BLOCK_AVAILABILITY_CUTOFF_MS).catch((_e) => {
323
+ chain.logger.debug("Block under processing not yet fully available adding to unknownBlockInput", {
324
+ blobSlot,
325
+ });
326
+ events.emit(NetworkEvent.unknownBlockInput, { blockInput, peer: peerIdStr });
327
+ });
328
+ }
254
329
  }
255
330
  else {
256
331
  // wait for the block to arrive till some cutoff else emit unknownBlockInput event
@@ -259,7 +334,6 @@ function getSequentialHandlers(modules, options) {
259
334
  return null;
260
335
  });
261
336
  if (normalBlockInput !== null) {
262
- chain.logger.debug("Block corresponding to blob is now available for processing", { blobSlot, index });
263
337
  // we can directly send it for processing but block gossip handler will queue it up anyway
264
338
  // if we see any issues later, we can send it to handleValidBeaconBlock
265
339
  //
@@ -268,7 +342,73 @@ function getSequentialHandlers(modules, options) {
268
342
  // however we can emit the event which will atleast add the peer to the list of peers to pull
269
343
  // data from
270
344
  if (normalBlockInput.type === BlockInputType.dataPromise) {
271
- events.emit(NetworkEvent.unknownBlockInput, { blockInput: normalBlockInput, peer: peerIdStr });
345
+ chain.logger.debug("Block corresponding to blob is now available but waiting for data availability", {
346
+ blobSlot,
347
+ index,
348
+ });
349
+ await raceWithCutoff(chain, blobSlot, normalBlockInput.cachedData.availabilityPromise, BLOCK_AVAILABILITY_CUTOFF_MS).catch((_e) => {
350
+ chain.logger.debug("Block under processing not yet fully available adding to unknownBlockInput", {
351
+ blobSlot,
352
+ });
353
+ events.emit(NetworkEvent.unknownBlockInput, { blockInput: normalBlockInput, peer: peerIdStr });
354
+ });
355
+ }
356
+ else {
357
+ chain.logger.debug("Block corresponding to blob is now available for processing", { blobSlot, index });
358
+ }
359
+ }
360
+ else {
361
+ chain.logger.debug("Block corresponding to blob not available till BLOCK_AVAILABILITY_CUTOFF_MS adding to unknownBlockInput", { blobSlot, index });
362
+ events.emit(NetworkEvent.unknownBlockInput, { blockInput, peer: peerIdStr });
363
+ }
364
+ }
365
+ },
366
+ [GossipType.data_column_sidecar]: async ({ gossipData, topic, peerIdStr, seenTimestampSec, }) => {
367
+ const { serializedData } = gossipData;
368
+ const dataColumnSidecar = sszDeserialize(topic, serializedData);
369
+ const blobSlot = dataColumnSidecar.signedBlockHeader.message.slot;
370
+ const index = dataColumnSidecar.index;
371
+ if (config.getForkSeq(blobSlot) < ForkSeq.deneb) {
372
+ throw new GossipActionError(GossipAction.REJECT, { code: "PRE_DENEB_BLOCK" });
373
+ }
374
+ const delaySec = chain.clock.secFromSlot(blobSlot, seenTimestampSec);
375
+ metrics?.dataColumns.elapsedTimeTillReceived.observe({ source: DataColumnsSource.gossip }, delaySec);
376
+ const blockInput = await validateBeaconDataColumn(dataColumnSidecar, serializedData, topic.subnet, peerIdStr, seenTimestampSec);
377
+ if (blockInput.block !== null) {
378
+ if (blockInput.type === BlockInputType.dataPromise) {
379
+ chain.logger.debug("Block corresponding to blob is available but waiting for data availability", {
380
+ blobSlot,
381
+ index,
382
+ });
383
+ await raceWithCutoff(chain, blobSlot, blockInput.cachedData.availabilityPromise, BLOCK_AVAILABILITY_CUTOFF_MS).catch((_e) => {
384
+ chain.logger.debug("Block under processing not yet fully available adding to unknownBlockInput", {
385
+ blobSlot,
386
+ });
387
+ events.emit(NetworkEvent.unknownBlockInput, { blockInput, peer: peerIdStr });
388
+ });
389
+ }
390
+ }
391
+ else {
392
+ // wait for the block to arrive till some cutoff else emit unknownBlockInput event
393
+ chain.logger.debug("Block not yet available, racing with cutoff", { blobSlot, index });
394
+ const normalBlockInput = await raceWithCutoff(chain, blobSlot, blockInput.blockInputPromise, BLOCK_AVAILABILITY_CUTOFF_MS).catch((_e) => {
395
+ return null;
396
+ });
397
+ if (normalBlockInput !== null) {
398
+ if (normalBlockInput.type === BlockInputType.dataPromise) {
399
+ chain.logger.debug("Block corresponding to blob is now available but waiting for data availability", {
400
+ blobSlot,
401
+ index,
402
+ });
403
+ await raceWithCutoff(chain, blobSlot, normalBlockInput.cachedData.availabilityPromise, BLOCK_AVAILABILITY_CUTOFF_MS).catch((_e) => {
404
+ chain.logger.debug("Block under processing not yet fully available adding to unknownBlockInput", {
405
+ blobSlot,
406
+ });
407
+ events.emit(NetworkEvent.unknownBlockInput, { blockInput: normalBlockInput, peer: peerIdStr });
408
+ });
409
+ }
410
+ else {
411
+ chain.logger.debug("Block corresponding to blob is now available for processing", { blobSlot, index });
272
412
  }
273
413
  }
274
414
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"gossipHandlers.js","sourceRoot":"","sources":["../../../src/network/processor/gossipHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAErC,OAAO,EAA4C,OAAO,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAQL,GAAG,EACH,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,QAAQ,EAAU,WAAW,EAAE,KAAK,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAChF,OAAO,EACL,qBAAqB,EAErB,cAAc,EACd,iBAAiB,GAElB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAC,yBAAyB,EAAC,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAGL,0BAA0B,EAC1B,+BAA+B,EAC/B,qCAAqC,EACrC,8BAA8B,EAC9B,mBAAmB,EACnB,kCAAkC,EAClC,8BAA8B,EAC9B,2BAA2B,EAC3B,2BAA2B,EAC3B,+CAA+C,GAChD,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAC,iCAAiC,EAAC,MAAM,qDAAqD,CAAC;AACtG,OAAO,EAAC,mCAAmC,EAAC,MAAM,uDAAuD,CAAC;AAC1G,OAAO,EAAC,QAAQ,EAAC,MAAM,iCAAiC,CAAC;AAEzD,OAAO,EAAC,4BAA4B,EAAC,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAC,YAAY,EAAkB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAIL,UAAU,GAEX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAqB7C,MAAM,8BAA8B,GAAG,CAAC,CAAC;AACzC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAE3C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA4B,EAAE,OAA0B;IACxF,OAAO,EAAC,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAC,CAAC;AAC7F,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,OAA4B,EAAE,OAA0B;IACrF,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAC,GAAG,OAAO,CAAC;IAE/D,KAAK,UAAU,mBAAmB,CAChC,WAA8B,EAC9B,IAAc,EACd,SAAiB,EACjB,gBAAwB;QAExB,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QACxF,MAAM,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACjE,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,gBAAgB,CAAC;QAE9D,oFAAoF;QACpF,MAAM,aAAa,GAAG,KAAK,CAAC,oBAAoB,CAAC,mBAAmB,CAClE,MAAM,EACN;YACE,IAAI,EAAE,iBAAiB,CAAC,KAAK;YAC7B,WAAW;SACZ,EACD,OAAO,CACR,CAAC;QACF,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;QAC5C,2EAA2E;QAC3E,IAAI,UAAU,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC9B,MAAM,KAAK,CACT,oEAAoE,iBAAiB,CAAC,KAAK,aAAa,aAAa,SAAS,IAAI,EAAE,CACrI,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAClB,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnG,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW;YACpC,MAAM,EAAE,SAAS;YACjB,QAAQ;YACR,GAAG,cAAc;YACjB,gBAAgB;SACjB,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAC,GAAG,MAAM,EAAC,CAAC,CAAC;QAEnD,IAAI,CAAC;YACH,MAAM,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YAE5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,gBAAgB,CAAC;YAC9D,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;YAE3D,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACjF,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAE7E,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,GAAG,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAC,CAAC,CAAC;YAEtF,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,EAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAC,CAAC,CAAC;YACvF,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,gBAAgB,EAAE,CAAC;gBAClC,qEAAqE;gBACrE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;oBACzE,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;oBACvF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;gBAC9E,CAAC;gBAED,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;oBACrC,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAAC,iBAAiB,EAAE,WAAW,EAAE,sBAAsB,IAAI,EAAE,CAAC,CAAC;gBACvG,CAAC;YACH,CAAC;YAED,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,UAAU,kBAAkB,CAC/B,WAA8B,EAC9B,MAAgB,EAChB,SAAiB,EACjB,gBAAwB;QAExB,MAAM,eAAe,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC;QAC9D,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;QAC3F,MAAM,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACjE,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,gBAAgB,CAAC;QAE9D,MAAM,EAAC,UAAU,EAAE,cAAc,EAAC,GAAG,KAAK,CAAC,oBAAoB,CAAC,mBAAmB,CACjF,MAAM,EACN;YACE,IAAI,EAAE,iBAAiB,CAAC,IAAI;YAC5B,WAAW;SACZ,EACD,OAAO,CACR,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,yBAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YAClE,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,gBAAgB,CAAC;YAC9D,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;YAE3D,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC/D,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAE3D,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;oBACtD,SAAS,EAAE,YAAY;oBACvB,IAAI;oBACJ,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC;oBAC/C,aAAa,EAAE,KAAK,CAAC,4BAA4B,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;iBAC9E,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE;gBACnC,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW;gBACpC,MAAM,EAAE,SAAS;gBACjB,QAAQ;gBACR,MAAM;gBACN,GAAG,cAAc;gBACjB,gBAAgB;gBAChB,gBAAgB;gBAChB,cAAc;aACf,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,sBAAsB,EAAE,CAAC;gBACxC,qEAAqE;gBACrE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,oBAAoB,CAAC,cAAc,IAAI,UAAU,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBACrF,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;oBACtF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;gBAC9E,CAAC;gBAED,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;oBACrC,KAAK,CAAC,sBAAsB,CAC1B,GAAG,CAAC,KAAK,CAAC,WAAW,EACrB,WAAW,EACX,sBAAsB,IAAI,UAAU,WAAW,CAAC,KAAK,EAAE,CACxD,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,SAAS,sBAAsB,CAAC,UAAsB,EAAE,SAAiB,EAAE,gBAAwB;QACjG,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;QAErC,0EAA0E;QAE1E,MAAM,QAAQ,GAAG,gBAAgB,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC7G,OAAO,EAAE,WAAW,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAC,EAAE,QAAQ,CAAC,CAAC;QAC1F,KAAK,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5F,qEAAqE;QACrE,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,WAAW,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;QAC7E,CAAC;aAAM,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,aAAa,EAAE,CAAC;YAC5D,OAAO,EAAE,oBAAoB,CAAC,6BAA6B,CAAC,GAAG,EAAE,CAAC;YAClE,OAAO,EAAE,oBAAoB,CAAC,iCAAiC,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzG,CAAC;QAED,KAAK;aACF,YAAY,CAAC,UAAU,EAAE;YACxB,4DAA4D;YAC5D,aAAa,EAAE,IAAI;YACnB,8DAA8D;YAC9D,sBAAsB,EAAE,IAAI;YAC5B,+DAA+D;YAC/D,iBAAiB,EAAE,qBAAqB,CAAC,UAAU;YACnD,qDAAqD;YACrD,4GAA4G;YAC5G,wDAAwD;YACxD,qHAAqH;YACrH,+GAA+G;YAC/G,wDAAwD;YACxD,qBAAqB,EAAE,IAAI;YAC3B,+BAA+B;YAC/B,gBAAgB;YAChB,wDAAwD;YACxD,iBAAiB,EAAE,IAAI;YACvB,aAAa,EAAE,IAAI;SACpB,CAAC;aACD,IAAI,CAAC,GAAG,EAAE;YACT,yEAAyE;YACzE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnE,OAAO,EAAE,WAAW,CAAC,wBAAwB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChE,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QACrC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,uCAAuC;YACvC,IAAI,QAAkB,CAAC;YAEvB,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC;gBAC5B,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAK,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBACrC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;wBACtC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;wBAC5C,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;wBAEnF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;wBAEnE,2CAA2C;wBAC3C,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;wBAC1B,MAAM;oBACR,CAAC;oBACD,gEAAgE;oBAChE,4FAA4F;oBAC5F,KAAK,cAAc,CAAC,aAAa,CAAC;oBAClC,KAAK,cAAc,CAAC,cAAc,CAAC;oBACnC,KAAK,cAAc,CAAC,gBAAgB,CAAC;oBACrC,KAAK,cAAc,CAAC,sBAAsB;wBACxC,0EAA0E;wBAC1E,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;wBAC1B,MAAM;oBACR;wBACE,wCAAwC;wBACxC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;wBAC3E,mEAAmE;wBACnE,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC7B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,uBAAuB;gBACvB,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC5B,CAAC;YACD,OAAO,EAAE,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAC,CAAC,CAAC;YAChH,MAAM,CAAC,QAAQ,CAAC,CAAC,uBAAuB,EAAE,EAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAC,EAAE,CAAU,CAAC,CAAC;YACzG,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACL,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,EAChC,UAAU,EACV,KAAK,EACL,SAAS,EACT,gBAAgB,GACmC,EAAE,EAAE;YACvD,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YAEpC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC5G,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YACvD,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAClE,CAAC;QAED,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,EAChC,UAAU,EACV,KAAK,EACL,SAAS,EACT,gBAAgB,GACmC,EAAE,EAAE;YACvD,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5D,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;YAEhC,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChD,MAAM,IAAI,iBAAiB,CAAC,YAAY,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAC,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACpG,IAAI,UAAU,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC9B,oGAAoG;gBACpG,gBAAgB;gBAChB,EAAE;gBACF,mEAAmE;YACrE,CAAC;iBAAM,CAAC;gBACN,kFAAkF;gBAClF,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;gBACrF,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAC3C,KAAK,EACL,QAAQ,EACR,UAAU,CAAC,iBAAiB,EAC5B,4BAA4B,CAC7B,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE;oBACb,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;gBAEH,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;oBAC9B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,6DAA6D,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;oBACrG,0FAA0F;oBAC1F,uEAAuE;oBACvE,EAAE;oBACF,yEAAyE;oBACzE,EAAE;oBACF,6FAA6F;oBAC7F,YAAY;oBACZ,IAAI,gBAAgB,CAAC,IAAI,KAAK,cAAc,CAAC,WAAW,EAAE,CAAC;wBACzD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAC,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;oBAC/F,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;oBAC/F,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;QAED,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,KAAK,EAAE,EAC9C,UAAU,EACV,KAAK,EACL,gBAAgB,GACiD,EAAE,EAAE;YACrE,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,IAAI,gBAAmD,CAAC;YACxD,MAAM,uBAAuB,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YACtE,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;YAE9B,IAAI,CAAC;gBACH,gBAAgB,GAAG,MAAM,+BAA+B,CAAC,IAAI,EAAE,KAAK,EAAE,uBAAuB,EAAE,cAAc,CAAC,CAAC;YACjH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,gBAAgB,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;oBACtE,KAAK,CAAC,sBAAsB,CAC1B,WAAW,CAAC,IAAI,CAAC,CAAC,uBAAuB,EACzC,uBAAuB,EACvB,eAAe,CAChB,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,CAAC;YACV,CAAC;YAED,UAAU;YACV,MAAM,EAAC,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAC,GAAG,gBAAgB,CAAC;YAChF,KAAK,CAAC,gBAAgB,EAAE,mCAAmC,CACzD,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,CACnB,CAAC;YACF,MAAM,qBAAqB,GAAG,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC;YAExE,MAAM,aAAa,GAAG,KAAK,CAAC,yBAAyB,CAAC,GAAG,CACvD,qBAAqB,EACrB,cAAc,EACd,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,EAC1C,gBAAgB,CACjB,CAAC;YACF,OAAO,EAAE,MAAM,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC;YAEnF,IAAI,CAAC,OAAO,CAAC,sCAAsC,EAAE,CAAC;gBACpD,IAAI,CAAC;oBACH,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;gBACrE,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CACV,0DAA0D,EAC1D,EAAC,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAC,EACvC,CAAU,CACX,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrG,CAAC;QAED,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EACrC,UAAU,EACV,KAAK,GACmD,EAAE,EAAE;YAC5D,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC9B,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC/D,MAAM,8BAA8B,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;YAE9D,UAAU;YAEV,IAAI,CAAC;gBACH,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;gBAC5D,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,EAAE,CAAU,CAAC,CAAC;YACxE,CAAC;YAED,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QACjF,CAAC;QAED,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,EACrC,UAAU,EACV,KAAK,GACmD,EAAE,EAAE;YAC5D,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC/D,MAAM,8BAA8B,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;YAE9D,UAAU;YAEV,IAAI,CAAC;gBACH,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,EAAE,CAAU,CAAC,CAAC;YACxE,CAAC;YAED,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QACjF,CAAC;QAED,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,EAAC,UAAU,EAAE,KAAK,EAAuD,EAAE,EAAE;YAC/G,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC5D,MAAM,2BAA2B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAExD,UAAU;YAEV,IAAI,CAAC;gBACH,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,EAAE,CAAU,CAAC,CAAC;YACrE,CAAC;YAED,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAC3E,CAAC;QAED,CAAC,UAAU,CAAC,qCAAqC,CAAC,EAAE,KAAK,EAAE,EACzD,UAAU,EACV,KAAK,GACuE,EAAE,EAAE;YAChF,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,oBAAoB,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YACnE,MAAM,EAAC,+BAA+B,EAAC,GAAG,MAAM,+CAA+C,CAC7F,KAAK,EACL,oBAAoB,CACrB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACZ,IAAI,CAAC,YAAY,kBAAkB,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;oBACxE,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,0BAA0B,EAAE,oBAAoB,EAAE,eAAe,CAAC,CAAC;gBAC7G,CAAC;gBACD,MAAM,CAAC,CAAC;YACV,CAAC,CAAC,CAAC;YAEH,UAAU;YACV,KAAK,CAAC,gBAAgB,EAAE,sCAAsC,CAC5D,oBAAoB,CAAC,OAAO,EAC5B,+BAA+B,CAChC,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,KAAK,CAAC,4BAA4B,CAAC,GAAG,CAC1D,oBAAoB,CAAC,OAAO,EAC5B,+BAA+B,CAAC,MAAM,CACvC,CAAC;gBACF,OAAO,EAAE,MAAM,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC;YACxF,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,EAAE,CAAU,CAAC,CAAC;YAC5E,CAAC;YAED,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;QACzF,CAAC;QAED,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,EAAC,UAAU,EAAE,KAAK,EAAuD,EAAE,EAAE;YAC/G,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC5D,MAAM,EAAC,MAAM,EAAC,GAAG,KAAK,CAAC;YACvB,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC;gBACH,mBAAmB,GAAG,CAAC,MAAM,2BAA2B,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;YAC9G,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,kBAAkB,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;oBACxE,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,oBAAoB,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;gBAChG,CAAC;gBACD,MAAM,CAAC,CAAC;YACV,CAAC;YAED,UAAU;YAEV,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;gBACrG,OAAO,EAAE,MAAM,CAAC,qCAAqC,CAAC,GAAG,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC;YAC7E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAC,MAAM,EAAC,EAAE,CAAU,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,KAAK,EAAE,EAChD,UAAU,EACV,KAAK,GAC8D,EAAE,EAAE;YACvE,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,yBAAyB,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YACxE,iCAAiC,CAAC,MAAM,EAAE,KAAK,EAAE,yBAAyB,CAAC,CAAC;QAC9E,CAAC;QAED,CAAC,UAAU,CAAC,8BAA8B,CAAC,EAAE,KAAK,EAAE,EAClD,UAAU,EACV,KAAK,GACgE,EAAE,EAAE;YACzE,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,2BAA2B,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC1E,mCAAmC,CAAC,MAAM,EAAE,KAAK,EAAE,2BAA2B,CAAC,CAAC;QAClF,CAAC;QAED,qFAAqF;QACrF,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,EAC3C,UAAU,EACV,KAAK,GACyD,EAAE,EAAE;YAClE,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAC;YACpC,MAAM,oBAAoB,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YACnE,MAAM,kCAAkC,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;YAEtE,UAAU;YACV,IAAI,CAAC;gBACH,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,oBAAoB,CAAC,CAAC;YAChE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,EAAE,CAAU,CAAC,CAAC;YAC5E,CAAC;YAED,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;QACzF,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAA4B,EAAE,OAA0B;IAChF,MAAM,EAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAC,GAAG,OAAO,CAAC;IAC5D,OAAO;QACL,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,KAAK,EACpC,mBAA+E,EACzC,EAAE;YACxC,MAAM,OAAO,GAAgC,EAAE,CAAC;YAChD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,MAAM,CAAC;YACpD,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,sFAAsF;YACtF,MAAM,EAAC,IAAI,EAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YACrD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC3D,WAAW,EAAE,IAAI;gBACjB,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc;gBAC/C,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO;gBACjC,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO;gBACvC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;aAC3B,CAAC,CAAwB,CAAC;YAC3B,MAAM,EAAC,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAC,GAAG,MAAM,qCAAqC,CAC5F,IAAI,EACJ,KAAK,EACL,gBAAgB,CACjB,CAAC;YACF,KAAK,MAAM,CAAC,CAAC,EAAE,gBAAgB,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;gBAChE,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAuB,CAAC,CAAC;oBACvD,SAAS;gBACX,CAAC;gBACD,sBAAsB;gBACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEnB,UAAU;gBACV,MAAM,EACJ,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,aAAa,GACd,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBAC5B,KAAK,CAAC,gBAAgB,EAAE,qCAAqC,CAC3D,mBAAmB,CAAC,CAAC,CAAC,CAAC,gBAAgB,EACvC,kBAAkB,CACnB,CAAC;gBAEF,MAAM,EAAC,MAAM,EAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBACzC,IAAI,CAAC;oBACH,uGAAuG;oBACvG,yDAAyD;oBACzD,IAAI,iBAAiB,CAAC,eAAe,CAAC,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5E,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAC7C,cAAc,EACd,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,aAAa,CACd,CAAC;wBACF,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC;oBAC3E,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,EAAC,MAAM,EAAC,EAAE,CAAU,CAAC,CAAC;gBACtF,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,sCAAsC,EAAE,CAAC;oBACpD,IAAI,CAAC;wBACH,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;oBACrE,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,MAAM,CAAC,KAAK,CAAC,4DAA4D,EAAE,EAAC,MAAM,EAAC,EAAE,CAAU,CAAC,CAAC;oBACnG,CAAC;gBACH,CAAC;gBAED,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,KAAK,CAAC,OAAO,CAAC,IAAI,CAChB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,EACzC,WAAiD,CAClD,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,WAAgD,CAAC,CAAC;oBAC1G,KAAK,CAAC,OAAO,CAAC,IAAI,CAChB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,EACzC,0BAA0B,CACxB,WAAgD,EAChD,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CACvC,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,EAAE,iBAAiB,CAAC,yBAAyB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC5E,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,EAAoB,EACpB,OAAiB,EACjB,KAAmB,EACnB,IAAU,EACV,SAAe;IAEf,IAAI,uBAAuB,GAAG,CAAC,CAAC;IAChC,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IACE,CAAC,YAAY,gBAAgB;gBAC7B,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,oBAAoB,CAAC,yCAAyC,EAC9E,CAAC;gBACD,IAAI,uBAAuB,KAAK,CAAC,EAAE,CAAC;oBAClC,yCAAyC;oBACzC,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;oBACrC,OAAO,CAAC,qBAAqB,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;gBACvD,CAAC;gBAED,IAAI,uBAAuB,EAAE,GAAG,8BAA8B,EAAE,CAAC;oBAC/D,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;oBACxE,uGAAuG;oBACvG,oCAAoC;oBACpC,IAAI,UAAU,EAAE,CAAC;wBACf,SAAS;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,KAAwE,EACxE,SAAe,EACf,mBAA+B,EAC/B,qBAA6B;IAE7B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,EACzG,CAAC,CACF,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAC1F,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC;IACzD,uFAAuF;IACvF,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"gossipHandlers.js","sourceRoot":"","sources":["../../../src/network/processor/gossipHandlers.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,11 @@ const linearGossipQueueOpts = {
25
25
  type: QueueType.FIFO,
26
26
  dropOpts: { type: DropType.count, count: 1 },
27
27
  },
28
+ [GossipType.data_column_sidecar]: {
29
+ maxLength: 4096,
30
+ type: QueueType.FIFO,
31
+ dropOpts: { type: DropType.count, count: 1 },
32
+ },
28
33
  // lighthoue has aggregate_queue 4096 and unknown_block_aggregate_queue 1024, we use single queue
29
34
  [GossipType.beacon_aggregate_and_proof]: {
30
35
  maxLength: 5120,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/network/processor/gossipQueues/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,+BAA+B,EAAC,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAkB,UAAU,EAAuB,MAAM,2BAA2B,CAAC;AAE5F,OAAO,EAAC,yBAAyB,EAAC,MAAM,cAAc,CAAC;AACvD,OAAO,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAgC,SAAS,EAAE,+BAA+B,EAAC,MAAM,YAAY,CAAC;AAE9G;;;GAGG;AACH,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAC;AAErD;;GAEG;AACH,MAAM,qBAAqB,GAEvB;IACF,+BAA+B;IAC/B,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC,EAAC;IAC9G,6EAA6E;IAC7E,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QACzB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC;KAC3C;IACD,iGAAiG;IACjG,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE;QACvC,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC;KAC3C;IACD,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC,EAAC;IAChH,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC,EAAC;IACnH,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC,EAAC;IACnH,CAAC,UAAU,CAAC,qCAAqC,CAAC,EAAE;QAClD,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC;KAC3C;IACD,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC,EAAC;IAChH,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE;QACzC,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC;KAC3C;IACD,CAAC,UAAU,CAAC,8BAA8B,CAAC,EAAE;QAC3C,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC;KAC3C;IACD,2FAA2F;IAC3F,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE;QACpC,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAC;KAC3C;CACF,CAAC;AAEF,MAAM,sBAAsB,GAExB;IACF,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;QAC/B,uGAAuG;QACvG,kFAAkF;QAClF,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,CAAC,IAA6B,EAAE,EAAE;YACzC,OAAO,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClF,CAAC;QACD,YAAY,EAAE,kCAAkC;QAChD,YAAY,EAAE,iCAAiC;KAChD;CACF,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB;IAGhC,MAAM,eAAe,GAAG,EAAC,GAAG,qBAAqB,EAAE,GAAG,sBAAsB,EAAC,CAAC;IAE9E,OAAO,SAAS,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE;QACzC,IAAI,+BAA+B,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,iBAAiB,CAA0B,IAAI,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/network/processor/gossipQueues/index.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ const DEFAULT_EARLIEST_PERMISSIBLE_SLOT_DISTANCE = 32;
31
31
  const executeGossipWorkOrderObj = {
32
32
  [GossipType.beacon_block]: { bypassQueue: true },
33
33
  [GossipType.blob_sidecar]: { bypassQueue: true },
34
+ [GossipType.data_column_sidecar]: { bypassQueue: true },
34
35
  [GossipType.beacon_aggregate_and_proof]: {},
35
36
  [GossipType.voluntary_exit]: {},
36
37
  [GossipType.bls_to_execution_change]: {},