@lodestar/beacon-node 1.49.0-dev.c9061c6942 → 1.49.0-dev.ca7e252e95

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 (213) hide show
  1. package/lib/api/impl/beacon/blocks/index.js +2 -2
  2. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  3. package/lib/api/impl/beacon/pool/index.d.ts.map +1 -1
  4. package/lib/api/impl/beacon/pool/index.js +4 -2
  5. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  6. package/lib/api/impl/validator/index.d.ts.map +1 -1
  7. package/lib/api/impl/validator/index.js +9 -7
  8. package/lib/api/impl/validator/index.js.map +1 -1
  9. package/lib/chain/archiveStore/archiveStore.d.ts +1 -2
  10. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  11. package/lib/chain/archiveStore/archiveStore.js +0 -5
  12. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  13. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +1 -1
  14. package/lib/chain/archiveStore/historicalState/metrics.js +4 -6
  15. package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -1
  16. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +1 -1
  17. package/lib/chain/archiveStore/utils/pruneHistory.js +14 -3
  18. package/lib/chain/archiveStore/utils/pruneHistory.js.map +1 -1
  19. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  20. package/lib/chain/blocks/importExecutionPayload.js +13 -0
  21. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  22. package/lib/chain/blocks/index.js +2 -2
  23. package/lib/chain/blocks/index.js.map +1 -1
  24. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts +1 -1
  25. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts.map +1 -1
  26. package/lib/chain/emitter.d.ts +10 -0
  27. package/lib/chain/emitter.d.ts.map +1 -1
  28. package/lib/chain/emitter.js +4 -0
  29. package/lib/chain/emitter.js.map +1 -1
  30. package/lib/chain/errors/attesterSlashingError.d.ts +4 -1
  31. package/lib/chain/errors/attesterSlashingError.d.ts.map +1 -1
  32. package/lib/chain/errors/attesterSlashingError.js +1 -0
  33. package/lib/chain/errors/attesterSlashingError.js.map +1 -1
  34. package/lib/chain/errors/payloadAttestation.d.ts +4 -0
  35. package/lib/chain/errors/payloadAttestation.d.ts.map +1 -1
  36. package/lib/chain/errors/payloadAttestation.js +1 -0
  37. package/lib/chain/errors/payloadAttestation.js.map +1 -1
  38. package/lib/chain/errors/proposerSlashingError.d.ts +4 -1
  39. package/lib/chain/errors/proposerSlashingError.d.ts.map +1 -1
  40. package/lib/chain/errors/proposerSlashingError.js +1 -0
  41. package/lib/chain/errors/proposerSlashingError.js.map +1 -1
  42. package/lib/chain/options.d.ts +0 -4
  43. package/lib/chain/options.d.ts.map +1 -1
  44. package/lib/chain/options.js +0 -1
  45. package/lib/chain/options.js.map +1 -1
  46. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +1 -1
  47. package/lib/chain/produceBlock/computeNewStateRoot.js +4 -2
  48. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  49. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  50. package/lib/chain/produceBlock/produceBlockBody.js +6 -6
  51. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  52. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts +2 -1
  53. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -1
  54. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +3 -2
  55. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -1
  56. package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
  57. package/lib/chain/validation/attesterSlashing.js +1 -2
  58. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  59. package/lib/chain/validation/payloadAttestationMessage.d.ts.map +1 -1
  60. package/lib/chain/validation/payloadAttestationMessage.js +8 -1
  61. package/lib/chain/validation/payloadAttestationMessage.js.map +1 -1
  62. package/lib/chain/validation/proposerSlashing.js +1 -2
  63. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  64. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  65. package/lib/chain/validatorMonitor.js +2 -2
  66. package/lib/chain/validatorMonitor.js.map +1 -1
  67. package/lib/db/beacon.d.ts +1 -2
  68. package/lib/db/beacon.d.ts.map +1 -1
  69. package/lib/db/beacon.js +1 -3
  70. package/lib/db/beacon.js.map +1 -1
  71. package/lib/db/buckets.d.ts +0 -1
  72. package/lib/db/buckets.d.ts.map +1 -1
  73. package/lib/db/buckets.js +1 -1
  74. package/lib/db/buckets.js.map +1 -1
  75. package/lib/db/interface.d.ts +1 -2
  76. package/lib/db/interface.d.ts.map +1 -1
  77. package/lib/db/repositories/blockArchive.d.ts +5 -0
  78. package/lib/db/repositories/blockArchive.d.ts.map +1 -1
  79. package/lib/db/repositories/blockArchive.js +36 -1
  80. package/lib/db/repositories/blockArchive.js.map +1 -1
  81. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  82. package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
  83. package/lib/db/repositories/index.d.ts +0 -1
  84. package/lib/db/repositories/index.d.ts.map +1 -1
  85. package/lib/db/repositories/index.js +0 -1
  86. package/lib/db/repositories/index.js.map +1 -1
  87. package/lib/metrics/metrics/lodestar.d.ts +12 -11
  88. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  89. package/lib/metrics/metrics/lodestar.js +25 -23
  90. package/lib/metrics/metrics/lodestar.js.map +1 -1
  91. package/lib/network/gossip/encoding.d.ts +1 -2
  92. package/lib/network/gossip/encoding.d.ts.map +1 -1
  93. package/lib/network/gossip/encoding.js +5 -10
  94. package/lib/network/gossip/encoding.js.map +1 -1
  95. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  96. package/lib/network/gossip/gossipsub.js +16 -1
  97. package/lib/network/gossip/gossipsub.js.map +1 -1
  98. package/lib/network/gossip/topic.d.ts +9 -6
  99. package/lib/network/gossip/topic.d.ts.map +1 -1
  100. package/lib/network/gossip/topic.js +23 -8
  101. package/lib/network/gossip/topic.js.map +1 -1
  102. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  103. package/lib/network/processor/gossipHandlers.js +16 -5
  104. package/lib/network/processor/gossipHandlers.js.map +1 -1
  105. package/lib/network/processor/gossipValidatorFn.d.ts +2 -0
  106. package/lib/network/processor/gossipValidatorFn.d.ts.map +1 -1
  107. package/lib/network/processor/gossipValidatorFn.js +88 -7
  108. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  109. package/lib/network/processor/index.d.ts +6 -2
  110. package/lib/network/processor/index.d.ts.map +1 -1
  111. package/lib/network/processor/index.js +62 -24
  112. package/lib/network/processor/index.js.map +1 -1
  113. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  114. package/lib/network/reqresp/protocols.js +19 -5
  115. package/lib/network/reqresp/protocols.js.map +1 -1
  116. package/lib/node/nodejs.d.ts +2 -7
  117. package/lib/node/nodejs.d.ts.map +1 -1
  118. package/lib/node/nodejs.js +2 -22
  119. package/lib/node/nodejs.js.map +1 -1
  120. package/lib/sync/interface.d.ts +1 -2
  121. package/lib/sync/interface.d.ts.map +1 -1
  122. package/lib/sync/options.d.ts +0 -6
  123. package/lib/sync/options.d.ts.map +1 -1
  124. package/lib/sync/options.js +0 -2
  125. package/lib/sync/options.js.map +1 -1
  126. package/lib/sync/types.d.ts +21 -2
  127. package/lib/sync/types.d.ts.map +1 -1
  128. package/lib/sync/types.js +22 -2
  129. package/lib/sync/types.js.map +1 -1
  130. package/lib/sync/unknownBlock.d.ts +20 -0
  131. package/lib/sync/unknownBlock.d.ts.map +1 -1
  132. package/lib/sync/unknownBlock.js +199 -15
  133. package/lib/sync/unknownBlock.js.map +1 -1
  134. package/lib/util/shuffle.d.ts +0 -4
  135. package/lib/util/shuffle.d.ts.map +1 -1
  136. package/lib/util/shuffle.js +0 -8
  137. package/lib/util/shuffle.js.map +1 -1
  138. package/lib/util/sszBytes.d.ts +5 -0
  139. package/lib/util/sszBytes.d.ts.map +1 -1
  140. package/lib/util/sszBytes.js +13 -1
  141. package/lib/util/sszBytes.js.map +1 -1
  142. package/package.json +15 -16
  143. package/src/api/impl/beacon/blocks/index.ts +2 -2
  144. package/src/api/impl/beacon/pool/index.ts +6 -2
  145. package/src/api/impl/validator/index.ts +9 -7
  146. package/src/chain/archiveStore/archiveStore.ts +0 -6
  147. package/src/chain/archiveStore/historicalState/metrics.ts +4 -7
  148. package/src/chain/archiveStore/utils/pruneHistory.ts +14 -4
  149. package/src/chain/blocks/importExecutionPayload.ts +14 -0
  150. package/src/chain/blocks/index.ts +2 -2
  151. package/src/chain/blocks/payloadEnvelopeInput/types.ts +1 -1
  152. package/src/chain/emitter.ts +7 -2
  153. package/src/chain/errors/attesterSlashingError.ts +3 -1
  154. package/src/chain/errors/payloadAttestation.ts +2 -0
  155. package/src/chain/errors/proposerSlashingError.ts +3 -1
  156. package/src/chain/options.ts +0 -5
  157. package/src/chain/produceBlock/computeNewStateRoot.ts +9 -2
  158. package/src/chain/produceBlock/produceBlockBody.ts +17 -6
  159. package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +3 -2
  160. package/src/chain/validation/attesterSlashing.ts +1 -2
  161. package/src/chain/validation/payloadAttestationMessage.ts +9 -0
  162. package/src/chain/validation/proposerSlashing.ts +1 -2
  163. package/src/chain/validatorMonitor.ts +12 -2
  164. package/src/db/beacon.ts +0 -5
  165. package/src/db/buckets.ts +1 -1
  166. package/src/db/interface.ts +0 -3
  167. package/src/db/repositories/blockArchive.ts +38 -1
  168. package/src/db/repositories/index.ts +0 -1
  169. package/src/metrics/metrics/lodestar.ts +34 -26
  170. package/src/network/gossip/encoding.ts +5 -8
  171. package/src/network/gossip/gossipsub.ts +19 -2
  172. package/src/network/gossip/topic.ts +25 -7
  173. package/src/network/processor/gossipHandlers.ts +18 -5
  174. package/src/network/processor/gossipValidatorFn.ts +111 -7
  175. package/src/network/processor/index.ts +81 -24
  176. package/src/network/reqresp/protocols.ts +31 -6
  177. package/src/node/nodejs.ts +0 -27
  178. package/src/sync/interface.ts +1 -2
  179. package/src/sync/options.ts +0 -8
  180. package/src/sync/types.ts +24 -5
  181. package/src/sync/unknownBlock.ts +207 -14
  182. package/src/util/shuffle.ts +0 -9
  183. package/src/util/sszBytes.ts +18 -0
  184. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts +0 -20
  185. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
  186. package/lib/chain/archiveStore/utils/updateBackfillRange.js +0 -40
  187. package/lib/chain/archiveStore/utils/updateBackfillRange.js.map +0 -1
  188. package/lib/db/repositories/backfilledRanges.d.ts +0 -18
  189. package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
  190. package/lib/db/repositories/backfilledRanges.js +0 -26
  191. package/lib/db/repositories/backfilledRanges.js.map +0 -1
  192. package/lib/sync/backfill/backfill.d.ts +0 -169
  193. package/lib/sync/backfill/backfill.d.ts.map +0 -1
  194. package/lib/sync/backfill/backfill.js +0 -686
  195. package/lib/sync/backfill/backfill.js.map +0 -1
  196. package/lib/sync/backfill/errors.d.ts +0 -30
  197. package/lib/sync/backfill/errors.d.ts.map +0 -1
  198. package/lib/sync/backfill/errors.js +0 -15
  199. package/lib/sync/backfill/errors.js.map +0 -1
  200. package/lib/sync/backfill/index.d.ts +0 -2
  201. package/lib/sync/backfill/index.d.ts.map +0 -1
  202. package/lib/sync/backfill/index.js +0 -2
  203. package/lib/sync/backfill/index.js.map +0 -1
  204. package/lib/sync/backfill/verify.d.ts +0 -18
  205. package/lib/sync/backfill/verify.d.ts.map +0 -1
  206. package/lib/sync/backfill/verify.js +0 -36
  207. package/lib/sync/backfill/verify.js.map +0 -1
  208. package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
  209. package/src/db/repositories/backfilledRanges.ts +0 -29
  210. package/src/sync/backfill/backfill.ts +0 -916
  211. package/src/sync/backfill/errors.ts +0 -23
  212. package/src/sync/backfill/index.ts +0 -1
  213. package/src/sync/backfill/verify.ts +0 -58
@@ -4,7 +4,6 @@ import snappyWasm from "@chainsafe/snappy-wasm";
4
4
  import { ForkName } from "@lodestar/params";
5
5
  import { intToBytes } from "@lodestar/utils";
6
6
  import { MESSAGE_DOMAIN_VALID_SNAPPY } from "./constants.js";
7
- import { getGossipSSZMaxSize, getGossipSSZType } from "./topic.js";
8
7
  // Load WASM
9
8
  const xxhash = await xxhashFactory();
10
9
  // Use salt to prevent msgId from being mined for collisions
@@ -81,11 +80,9 @@ export function msgIdFn(gossipTopicCache, msg) {
81
80
  }
82
81
  export class DataTransformSnappy {
83
82
  gossipTopicCache;
84
- maxPayloadSize;
85
83
  metrics;
86
- constructor(gossipTopicCache, maxPayloadSize, metrics) {
84
+ constructor(gossipTopicCache, metrics) {
87
85
  this.gossipTopicCache = gossipTopicCache;
88
- this.maxPayloadSize = maxPayloadSize;
89
86
  this.metrics = metrics;
90
87
  }
91
88
  /**
@@ -98,11 +95,10 @@ export class DataTransformSnappy {
98
95
  // check uncompressed data length before we actually decompress
99
96
  const uncompressedDataLength = snappyWasm.decompress_len(data);
100
97
  const topic = this.gossipTopicCache.getTopic(topicStr);
101
- const sszType = getGossipSSZType(topic);
102
- const maxSize = getGossipSSZMaxSize(topic, this.maxPayloadSize, sszType);
98
+ const { minSize, maxSize } = this.gossipTopicCache.getTypeSizes(topicStr);
103
99
  this.metrics?.dataTransform.inbound.inc({ type: topic.type });
104
- if (uncompressedDataLength < sszType.minSize) {
105
- throw Error(`ssz_snappy decoded data length ${uncompressedDataLength} < ${sszType.minSize}`);
100
+ if (uncompressedDataLength < minSize) {
101
+ throw Error(`ssz_snappy decoded data length ${uncompressedDataLength} < ${minSize}`);
106
102
  }
107
103
  if (uncompressedDataLength > maxSize) {
108
104
  throw Error(`ssz_snappy decoded data length ${uncompressedDataLength} > ${maxSize}`);
@@ -119,8 +115,7 @@ export class DataTransformSnappy {
119
115
  */
120
116
  outboundTransform(topicStr, data) {
121
117
  const topic = this.gossipTopicCache.getTopic(topicStr);
122
- const sszType = getGossipSSZType(topic);
123
- const maxSize = getGossipSSZMaxSize(topic, this.maxPayloadSize, sszType);
118
+ const { maxSize } = this.gossipTopicCache.getTypeSizes(topicStr);
124
119
  this.metrics?.dataTransform.outbound.inc({ type: topic.type });
125
120
  if (data.length > maxSize) {
126
121
  throw Error(`ssz_snappy encoded data length ${data.length} > ${maxSize}`);
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../src/network/gossip/encoding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../src/network/gossip/encoding.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gossipsub.d.ts","sourceRoot":"","sources":["../../../src/network/gossip/gossipsub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gossipsub.d.ts","sourceRoot":"","sources":["../../../src/network/gossip/gossipsub.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,20 @@ import { GossipTopicCache, getAllowedTopics, getCoreTopicsAtFork, stringifyGossi
15
15
  /** As specified in https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md */
16
16
  const GOSSIPSUB_HEARTBEAT_INTERVAL = 0.7 * 1000;
17
17
  const MAX_OUTBOUND_BUFFER_SIZE = 2 ** 24; // 16MB
18
+ /**
19
+ * Snappy worst-case compressed length for a payload of `n` bytes
20
+ * https://github.com/ethereum/consensus-specs/blob/v1.7.0-beta.0/specs/phase0/p2p-interface.md#max_compressed_len
21
+ */
22
+ function maxCompressedLen(n) {
23
+ return 32 + n + Math.floor(n / 6);
24
+ }
25
+ /**
26
+ * Max size of an inbound gossipsub RPC frame, including all bundled messages and control
27
+ * https://github.com/ethereum/consensus-specs/blob/v1.7.0-beta.0/specs/phase0/p2p-interface.md#max_message_size
28
+ */
29
+ function getMaxInboundDataLength(config) {
30
+ return Math.max(maxCompressedLen(config.MAX_PAYLOAD_SIZE) + 1024, 1024 * 1024);
31
+ }
18
32
  /**
19
33
  * Wrapper around js-libp2p-gossipsub with the following extensions:
20
34
  * - Eth2 message id
@@ -78,13 +92,14 @@ export class Eth2Gossipsub {
78
92
  fastMsgIdFn: fastMsgIdFn,
79
93
  msgIdFn: msgIdFn.bind(msgIdFn, gossipTopicCache),
80
94
  msgIdToStrFn: msgIdToStrFn,
81
- dataTransform: new DataTransformSnappy(gossipTopicCache, config.MAX_PAYLOAD_SIZE, metrics),
95
+ dataTransform: new DataTransformSnappy(gossipTopicCache, metrics),
82
96
  metricsRegister: metricsRegister,
83
97
  metricsTopicStrToLabel: metricsRegister
84
98
  ? getMetricsTopicStrToLabel(networkConfig, { disableLightClientServer: opts.disableLightClientServer ?? false })
85
99
  : undefined,
86
100
  asyncValidation: true,
87
101
  maxOutboundBufferSize: MAX_OUTBOUND_BUFFER_SIZE,
102
+ maxInboundDataLength: getMaxInboundDataLength(config),
88
103
  // serialize message once and send to all peers when publishing
89
104
  batchPublish: true,
90
105
  // if this is false, only publish to mesh peers. If there is not enough GOSSIP_D mesh peers,
@@ -1 +1 @@
1
- {"version":3,"file":"gossipsub.js","sourceRoot":"","sources":["../../../src/network/gossip/gossipsub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gossipsub.js","sourceRoot":"","sources":["../../../src/network/gossip/gossipsub.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,22 @@
1
1
  import { type CompositeTypeAny } from "@chainsafe/ssz";
2
- import { ForkDigestContext } from "@lodestar/config";
2
+ import { BeaconConfig, ChainForkConfig, ForkDigestContext } from "@lodestar/config";
3
3
  import { ForkName } from "@lodestar/params";
4
+ import { TypeSizes } from "@lodestar/reqresp";
4
5
  import { Attestation, SingleAttestation } from "@lodestar/types";
5
6
  import { NetworkConfig } from "../networkConfig.js";
6
7
  import { GossipTopic, GossipTopicTypeMap, GossipType, SSZTypeOfGossipTopic } from "./interface.js";
7
8
  export interface IGossipTopicCache {
8
9
  getTopic(topicStr: string): GossipTopic;
10
+ getTypeSizes(topicStr: string): TypeSizes;
9
11
  }
10
12
  export declare class GossipTopicCache implements IGossipTopicCache {
11
- private readonly forkDigestContext;
13
+ private readonly config;
12
14
  private topicsByTopicStr;
13
- constructor(forkDigestContext: ForkDigestContext);
15
+ private typeSizesByTopicStr;
16
+ constructor(config: BeaconConfig);
14
17
  /** Returns cached GossipTopic, otherwise attempts to parse it from the str */
15
18
  getTopic(topicStr: string): GossipTopic;
19
+ getTypeSizes(topicStr: string): TypeSizes;
16
20
  /** Returns cached GossipTopic, otherwise returns undefined */
17
21
  getKnownTopic(topicStr: string): GossipTopic | undefined;
18
22
  setTopic(topicStr: string, topic: GossipTopic): void;
@@ -5229,10 +5233,9 @@ export declare function getGossipSSZType(topic: GossipTopic): import("@chainsafe
5229
5233
  signature: import("@chainsafe/ssz").ByteVectorType;
5230
5234
  }>>;
5231
5235
  /**
5232
- * Return the maximum uncompressed SSZ byte length accepted for a gossip object, the SSZ type max size
5233
- * or MAX_PAYLOAD_SIZE, whichever is smaller.
5236
+ * Return the maximum uncompressed SSZ byte length allowed by the type and configured network bounds.
5234
5237
  */
5235
- export declare function getGossipSSZMaxSize(topic: GossipTopic, maxPayloadSize: number, sszType?: CompositeTypeAny): number;
5238
+ export declare function getGossipSSZMaxSize(topic: GossipTopic, config: ChainForkConfig, sszType: CompositeTypeAny): number;
5236
5239
  /**
5237
5240
  * Deserialize a gossip serialized data into an ssz object.
5238
5241
  */
@@ -1 +1 @@
1
- {"version":3,"file":"topic.d.ts","sourceRoot":"","sources":["../../../src/network/gossip/topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAEL,QAAQ,EAOT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAmB,MAAM,iBAAiB,CAAC;AAEjF,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAiB,WAAW,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AAEjH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC;CACzC;AAED,qBAAa,gBAAiB,YAAW,iBAAiB;IAG5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAF9C,OAAO,CAAC,gBAAgB,CAA4C;IAEpE,YAA6B,iBAAiB,EAAE,iBAAiB,EAAI;IAErE,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAQtC;IAED,8DAA8D;IAC9D,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEvD;IAED,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAInD;CACF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CAKrG;AA+BD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2ClD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAElH;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAOnH;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,GAAG,WAAW,CAMjG;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,GAAG,iBAAiB,CAS7G;AAMD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CA0D9G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAC,GAC7G,kBAAkB,CAAC,MAAM,kBAAkB,CAAC,EAAE,CA4DhD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAgB1E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,aAAa,EAC5B,yBAAyB,UAAQ,GAChC,kBAAkB,CAAC,MAAM,kBAAkB,CAAC,EAAE,CAWhD;AAgBD,eAAO,MAAM,sCAAsC,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAkB9E,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kCAAkC,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAwB1E,CAAC"}
1
+ {"version":3,"file":"topic.d.ts","sourceRoot":"","sources":["../../../src/network/gossip/topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAC,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAEL,QAAQ,EAOT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAmB,MAAM,iBAAiB,CAAC;AAGjF,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAiB,WAAW,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AAEjH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC;IACxC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED,qBAAa,gBAAiB,YAAW,iBAAiB;IAI5C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,mBAAmB,CAAgC;IAE3D,YAA6B,MAAM,EAAE,YAAY,EAAI;IAErD,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAQtC;IAED,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CASxC;IAED,8DAA8D;IAC9D,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEvD;IAED,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAInD;CACF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CAKrG;AA+BD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2ClD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAMlH;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAOnH;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,GAAG,WAAW,CAMjG;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,GAAG,iBAAiB,CAS7G;AAMD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CA0D9G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAC,GAC7G,kBAAkB,CAAC,MAAM,kBAAkB,CAAC,EAAE,CA4DhD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAgB1E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,aAAa,EAC5B,yBAAyB,UAAQ,GAChC,kBAAkB,CAAC,MAAM,kBAAkB,CAAC,EAAE,CAWhD;AAgBD,eAAO,MAAM,sCAAsC,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAkB9E,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kCAAkC,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAwB1E,CAAC"}
@@ -1,24 +1,36 @@
1
1
  import { ATTESTATION_SUBNET_COUNT, ForkSeq, SYNC_COMMITTEE_SUBNET_COUNT, isForkPostAltair, isForkPostElectra, isForkPostFulu, isForkPostGloas, } from "@lodestar/params";
2
2
  import { ssz, sszTypesFor } from "@lodestar/types";
3
3
  import { GossipAction, GossipActionError, GossipErrorCode } from "../../chain/errors/gossipValidation.js";
4
+ import { computeMaxGloasDataColumnSidecarSize } from "../../util/sszBytes.js";
4
5
  import { DEFAULT_ENCODING } from "./constants.js";
5
6
  import { GossipEncoding, GossipType } from "./interface.js";
6
7
  export class GossipTopicCache {
7
- forkDigestContext;
8
+ config;
8
9
  topicsByTopicStr = new Map();
9
- constructor(forkDigestContext) {
10
- this.forkDigestContext = forkDigestContext;
10
+ typeSizesByTopicStr = new Map();
11
+ constructor(config) {
12
+ this.config = config;
11
13
  }
12
14
  /** Returns cached GossipTopic, otherwise attempts to parse it from the str */
13
15
  getTopic(topicStr) {
14
16
  let topic = this.topicsByTopicStr.get(topicStr);
15
17
  if (topic === undefined) {
16
- topic = parseGossipTopic(this.forkDigestContext, topicStr);
18
+ topic = parseGossipTopic(this.config, topicStr);
17
19
  // TODO: Consider just throwing here. We should only receive messages from known subscribed topics
18
20
  this.topicsByTopicStr.set(topicStr, topic);
19
21
  }
20
22
  return topic;
21
23
  }
24
+ getTypeSizes(topicStr) {
25
+ let typeSizes = this.typeSizesByTopicStr.get(topicStr);
26
+ if (typeSizes === undefined) {
27
+ const topic = this.getTopic(topicStr);
28
+ const sszType = getGossipSSZType(topic);
29
+ typeSizes = { minSize: sszType.minSize, maxSize: getGossipSSZMaxSize(topic, this.config, sszType) };
30
+ this.typeSizesByTopicStr.set(topicStr, typeSizes);
31
+ }
32
+ return typeSizes;
33
+ }
22
34
  /** Returns cached GossipTopic, otherwise returns undefined */
23
35
  getKnownTopic(topicStr) {
24
36
  return this.topicsByTopicStr.get(topicStr);
@@ -111,11 +123,14 @@ export function getGossipSSZType(topic) {
111
123
  }
112
124
  }
113
125
  /**
114
- * Return the maximum uncompressed SSZ byte length accepted for a gossip object, the SSZ type max size
115
- * or MAX_PAYLOAD_SIZE, whichever is smaller.
126
+ * Return the maximum uncompressed SSZ byte length allowed by the type and configured network bounds.
116
127
  */
117
- export function getGossipSSZMaxSize(topic, maxPayloadSize, sszType) {
118
- return Math.min((sszType ?? getGossipSSZType(topic)).maxSize, maxPayloadSize);
128
+ export function getGossipSSZMaxSize(topic, config, sszType) {
129
+ const maxSize = Math.min(sszType.maxSize, config.MAX_PAYLOAD_SIZE);
130
+ if (isForkPostGloas(topic.boundary.fork) && topic.type === GossipType.data_column_sidecar) {
131
+ return Math.min(maxSize, computeMaxGloasDataColumnSidecarSize(config));
132
+ }
133
+ return maxSize;
119
134
  }
120
135
  /**
121
136
  * Deserialize a gossip serialized data into an ssz object.
@@ -1 +1 @@
1
- {"version":3,"file":"topic.js","sourceRoot":"","sources":["../../../src/network/gossip/topic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"topic.js","sourceRoot":"","sources":["../../../src/network/gossip/topic.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gossipHandlers.d.ts","sourceRoot":"","sources":["../../../src/network/processor/gossipHandlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAkB,MAAM,kBAAkB,CAAC;AAc/D,OAAO,EACL,IAAI,EAGJ,IAAI,EASL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAW,MAAM,EAAmB,MAAM,iBAAiB,CAAC;AA8BnE,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AA2BtD,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAI/C,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAC7C,OAAO,EAGL,cAAc,EAGf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wDAAwD;IACxD,sCAAsC,CAAC,EAAE,OAAO,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAKF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAE1G;AAq6CD;;GAEG;AACH,wBAAsB,gCAAgC,CAAC,CAAC,EACtD,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,IAAI,GACd,OAAO,CAAC,CAAC,CAAC,CA+BZ"}
1
+ {"version":3,"file":"gossipHandlers.d.ts","sourceRoot":"","sources":["../../../src/network/processor/gossipHandlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAkB,MAAM,kBAAkB,CAAC;AAc/D,OAAO,EACL,IAAI,EAGJ,IAAI,EASL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAW,MAAM,EAAmB,MAAM,iBAAiB,CAAC;AA8BnE,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AA2BtD,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAI/C,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAC7C,OAAO,EAGL,cAAc,EAGf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wDAAwD;IACxD,sCAAsC,CAAC,EAAE,OAAO,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAKF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAE1G;AAk7CD;;GAEG;AACH,wBAAsB,gCAAgC,CAAC,CAAC,EACtD,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,IAAI,GACd,OAAO,CAAC,CAAC,CAAC,CA+BZ"}
@@ -128,17 +128,27 @@ function getSequentialHandlers(modules, options) {
128
128
  }
129
129
  // IGNORE means the block is acceptable (e.g. FUTURE_SLOT, ALREADY_KNOWN), just not propagated.
130
130
  // Keep the optimistically-added cache entries; they are pruned on finalization. Only REJECT
131
- // (provably invalid) and unexpected errors prune below.
131
+ // (provably invalid), unexpected errors and repeat proposals that are not imported prune.
132
132
  if (e.action === GossipAction.IGNORE) {
133
+ // Only a signature-verified sibling is imported by the beacon_block handler, any other repeat proposal
134
+ // is dropped from the caches and re-downloaded by sync if it ever becomes relevant. Its signature was not
135
+ // verified, so only its own entry is removed, never its claimed ancestors
136
+ if (e.type.code === BlockErrorCode.REPEAT_PROPOSAL &&
137
+ !chain.seenBlockProposers.hasBlockRoot(slot, signedBlock.message.proposerIndex, blockRootHex)) {
138
+ chain.seenBlockInputCache.remove(blockRootHex);
139
+ if (isForkPostGloas(fork)) {
140
+ chain.seenPayloadEnvelopeInputCache.remove(blockRootHex);
141
+ }
142
+ }
133
143
  throw e;
134
144
  }
135
145
  chain.persistInvalidSszValue(forkTypes.SignedBeaconBlock, signedBlock, `gossip_reject_slot_${slot}`, blockRootHex);
136
146
  }
137
147
  // REJECT or unexpected (non-BlockGossipError) error: drop the optimistically-added entries from
138
- // both caches, keeping them consistent.
139
- chain.seenBlockInputCache.prune(blockRootHex);
148
+ // both caches, keeping them consistent. The block may carry any parent root, so only its own entry is removed
149
+ chain.seenBlockInputCache.remove(blockRootHex);
140
150
  if (isForkPostGloas(fork)) {
141
- chain.seenPayloadEnvelopeInputCache.prune(blockRootHex);
151
+ chain.seenPayloadEnvelopeInputCache.remove(blockRootHex);
142
152
  }
143
153
  throw e;
144
154
  }
@@ -537,7 +547,8 @@ function getSequentialHandlers(modules, options) {
537
547
  // know if this block (or the 1st known block with same slot) will become canonical yet
538
548
  if (e instanceof BlockGossipError &&
539
549
  e.type.code === BlockErrorCode.REPEAT_PROPOSAL &&
540
- // this is make sure the block's proposer signature was verified, it should be true anyway
550
+ // Only a signature-verified sibling recorded in the seen cache is imported. The cache holds at most two
551
+ // roots per proposer and slot, which bounds full imports over gossip to one alternate
541
552
  chain.seenBlockProposers.hasBlockRoot(signedBlock.message.slot, e.type.proposerIndex, e.type.root)) {
542
553
  // blockInput was optimistically seeded in validateBeaconBlock and retained on IGNORE
543
554
  const blockInput = chain.seenBlockInputCache.get(e.type.root);