@lodestar/beacon-node 1.29.0-dev.656eef3b16 → 1.29.0-dev.713062c107

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 (154) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +3 -3
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/pool/index.js +2 -2
  5. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  6. package/lib/api/impl/beacon/state/index.js +12 -0
  7. package/lib/api/impl/beacon/state/index.js.map +1 -1
  8. package/lib/api/impl/validator/index.js +19 -8
  9. package/lib/api/impl/validator/index.js.map +1 -1
  10. package/lib/chain/archiveStore/archiveStore.d.ts +54 -0
  11. package/lib/chain/archiveStore/archiveStore.js +126 -0
  12. package/lib/chain/archiveStore/archiveStore.js.map +1 -0
  13. package/lib/chain/archiveStore/constants.d.ts +4 -0
  14. package/lib/chain/archiveStore/constants.js +4 -0
  15. package/lib/chain/archiveStore/constants.js.map +1 -0
  16. package/lib/chain/{historicalState → archiveStore/historicalState}/getHistoricalState.d.ts +1 -1
  17. package/lib/chain/{historicalState → archiveStore/historicalState}/getHistoricalState.js +1 -1
  18. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -0
  19. package/lib/chain/{historicalState/index.d.ts → archiveStore/historicalState/historicalStateRegen.d.ts} +1 -1
  20. package/lib/chain/{historicalState/index.js → archiveStore/historicalState/historicalStateRegen.js} +2 -2
  21. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -0
  22. package/lib/chain/{historicalState → archiveStore/historicalState}/types.d.ts +1 -1
  23. package/lib/chain/archiveStore/historicalState/types.js.map +1 -0
  24. package/lib/chain/{historicalState → archiveStore/historicalState}/worker.js +15 -4
  25. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -0
  26. package/lib/chain/archiveStore/index.d.ts +4 -0
  27. package/lib/chain/archiveStore/index.js +4 -0
  28. package/lib/chain/archiveStore/index.js.map +1 -0
  29. package/lib/chain/{archiver → archiveStore}/interface.d.ts +30 -4
  30. package/lib/chain/archiveStore/interface.js +8 -0
  31. package/lib/chain/archiveStore/interface.js.map +1 -0
  32. package/lib/chain/{archiver → archiveStore}/strategies/frequencyStateArchiveStrategy.d.ts +2 -2
  33. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js.map +1 -0
  34. package/lib/chain/{archiver → archiveStore/utils}/archiveBlocks.d.ts +2 -2
  35. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -0
  36. package/lib/chain/{archiver → archiveStore/utils}/pruneHistory.d.ts +2 -2
  37. package/lib/chain/archiveStore/utils/pruneHistory.js.map +1 -0
  38. package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts +20 -0
  39. package/lib/chain/archiveStore/utils/updateBackfillRange.js +40 -0
  40. package/lib/chain/archiveStore/utils/updateBackfillRange.js.map +1 -0
  41. package/lib/chain/blocks/importBlock.js +3 -3
  42. package/lib/chain/blocks/importBlock.js.map +1 -1
  43. package/lib/chain/blocks/verifyBlock.js +1 -1
  44. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  45. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts +2 -1
  46. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +2 -2
  47. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  48. package/lib/chain/chain.d.ts +8 -5
  49. package/lib/chain/chain.js +25 -25
  50. package/lib/chain/chain.js.map +1 -1
  51. package/lib/chain/interface.d.ts +6 -0
  52. package/lib/chain/interface.js.map +1 -1
  53. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +32 -14
  54. package/lib/chain/opPools/aggregatedAttestationPool.js +245 -102
  55. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  56. package/lib/chain/opPools/attestationPool.d.ts +4 -2
  57. package/lib/chain/opPools/attestationPool.js +4 -3
  58. package/lib/chain/opPools/attestationPool.js.map +1 -1
  59. package/lib/chain/options.d.ts +5 -4
  60. package/lib/chain/options.js +4 -4
  61. package/lib/chain/options.js.map +1 -1
  62. package/lib/chain/produceBlock/computeNewStateRoot.js +1 -1
  63. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  64. package/lib/chain/regen/queued.d.ts +1 -0
  65. package/lib/chain/regen/queued.js +1 -0
  66. package/lib/chain/regen/queued.js.map +1 -1
  67. package/lib/chain/regen/regen.d.ts +3 -0
  68. package/lib/chain/regen/regen.js +3 -3
  69. package/lib/chain/regen/regen.js.map +1 -1
  70. package/lib/chain/validation/attestation.js +6 -5
  71. package/lib/chain/validation/attestation.js.map +1 -1
  72. package/lib/{metrics → chain}/validatorMonitor.d.ts +3 -2
  73. package/lib/{metrics → chain}/validatorMonitor.js +55 -52
  74. package/lib/chain/validatorMonitor.js.map +1 -0
  75. package/lib/metrics/metrics/beacon.js +1 -1
  76. package/lib/metrics/metrics/beacon.js.map +1 -1
  77. package/lib/metrics/metrics/lodestar.d.ts +64 -13
  78. package/lib/metrics/metrics/lodestar.js +144 -31
  79. package/lib/metrics/metrics/lodestar.js.map +1 -1
  80. package/lib/metrics/metrics.d.ts +2 -6
  81. package/lib/metrics/metrics.js +2 -12
  82. package/lib/metrics/metrics.js.map +1 -1
  83. package/lib/metrics/options.d.ts +2 -3
  84. package/lib/metrics/options.js.map +1 -1
  85. package/lib/network/core/networkCore.d.ts +3 -3
  86. package/lib/network/core/networkCore.js +9 -4
  87. package/lib/network/core/networkCore.js.map +1 -1
  88. package/lib/network/core/networkCoreWorker.js +5 -3
  89. package/lib/network/core/networkCoreWorker.js.map +1 -1
  90. package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -2
  91. package/lib/network/core/networkCoreWorkerHandler.js +3 -3
  92. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  93. package/lib/network/core/types.d.ts +1 -1
  94. package/lib/network/discv5/index.d.ts +2 -3
  95. package/lib/network/discv5/index.js +4 -5
  96. package/lib/network/discv5/index.js.map +1 -1
  97. package/lib/network/discv5/types.d.ts +1 -1
  98. package/lib/network/discv5/worker.js +7 -6
  99. package/lib/network/discv5/worker.js.map +1 -1
  100. package/lib/network/gossip/gossipsub.js +4 -0
  101. package/lib/network/gossip/gossipsub.js.map +1 -1
  102. package/lib/network/interface.d.ts +3 -2
  103. package/lib/network/libp2p/index.d.ts +2 -2
  104. package/lib/network/libp2p/index.js +15 -9
  105. package/lib/network/libp2p/index.js.map +1 -1
  106. package/lib/network/network.d.ts +4 -4
  107. package/lib/network/network.js +7 -5
  108. package/lib/network/network.js.map +1 -1
  109. package/lib/network/peers/datastore.d.ts +2 -1
  110. package/lib/network/peers/datastore.js +1 -1
  111. package/lib/network/peers/datastore.js.map +1 -1
  112. package/lib/network/peers/discover.d.ts +2 -0
  113. package/lib/network/peers/discover.js +3 -4
  114. package/lib/network/peers/discover.js.map +1 -1
  115. package/lib/network/peers/peerManager.d.ts +2 -1
  116. package/lib/network/peers/peerManager.js +1 -1
  117. package/lib/network/peers/peerManager.js.map +1 -1
  118. package/lib/network/peers/utils/getConnectedPeerIds.js +2 -2
  119. package/lib/network/peers/utils/getConnectedPeerIds.js.map +1 -1
  120. package/lib/network/processor/gossipHandlers.js +8 -7
  121. package/lib/network/processor/gossipHandlers.js.map +1 -1
  122. package/lib/network/util.d.ts +4 -1
  123. package/lib/network/util.js +2 -2
  124. package/lib/network/util.js.map +1 -1
  125. package/lib/node/nodejs.d.ts +7 -4
  126. package/lib/node/nodejs.js +19 -25
  127. package/lib/node/nodejs.js.map +1 -1
  128. package/lib/node/options.d.ts +4 -2
  129. package/lib/node/options.js +4 -2
  130. package/lib/node/options.js.map +1 -1
  131. package/lib/util/peerId.js +1 -1
  132. package/lib/util/peerId.js.map +1 -1
  133. package/package.json +34 -35
  134. package/lib/chain/archiver/archiveBlocks.js.map +0 -1
  135. package/lib/chain/archiver/archiver.d.ts +0 -41
  136. package/lib/chain/archiver/archiver.js +0 -122
  137. package/lib/chain/archiver/archiver.js.map +0 -1
  138. package/lib/chain/archiver/index.d.ts +0 -3
  139. package/lib/chain/archiver/index.js +0 -3
  140. package/lib/chain/archiver/index.js.map +0 -1
  141. package/lib/chain/archiver/interface.js +0 -8
  142. package/lib/chain/archiver/interface.js.map +0 -1
  143. package/lib/chain/archiver/pruneHistory.js.map +0 -1
  144. package/lib/chain/archiver/strategies/frequencyStateArchiveStrategy.js.map +0 -1
  145. package/lib/chain/historicalState/getHistoricalState.js.map +0 -1
  146. package/lib/chain/historicalState/index.js.map +0 -1
  147. package/lib/chain/historicalState/types.js.map +0 -1
  148. package/lib/chain/historicalState/worker.js.map +0 -1
  149. package/lib/metrics/validatorMonitor.js.map +0 -1
  150. /package/lib/chain/{historicalState → archiveStore/historicalState}/types.js +0 -0
  151. /package/lib/chain/{historicalState → archiveStore/historicalState}/worker.d.ts +0 -0
  152. /package/lib/chain/{archiver → archiveStore}/strategies/frequencyStateArchiveStrategy.js +0 -0
  153. /package/lib/chain/{archiver → archiveStore/utils}/archiveBlocks.js +0 -0
  154. /package/lib/chain/{archiver → archiveStore/utils}/pruneHistory.js +0 -0
@@ -1,5 +1,5 @@
1
1
  import { Registry } from "prom-client";
2
- import { PeerId } from "@libp2p/interface";
2
+ import { PrivateKey } from "@libp2p/interface";
3
3
  import { BeaconApiMethods } from "@lodestar/api/beacon/server";
4
4
  import { BeaconConfig } from "@lodestar/config";
5
5
  import type { LoggerNode } from "@lodestar/logger/node";
@@ -8,6 +8,7 @@ import { phase0 } from "@lodestar/types";
8
8
  import { ProcessShutdownCallback } from "@lodestar/validator";
9
9
  import { BeaconRestApiServer } from "../api/index.js";
10
10
  import { IBeaconChain } from "../chain/index.js";
11
+ import { ValidatorMonitor } from "../chain/validatorMonitor.js";
11
12
  import { IBeaconDb } from "../db/index.js";
12
13
  import { HttpMetricsServer, Metrics } from "../metrics/index.js";
13
14
  import { MonitoringService } from "../monitoring/index.js";
@@ -21,6 +22,7 @@ export type BeaconNodeModules = {
21
22
  config: BeaconConfig;
22
23
  db: IBeaconDb;
23
24
  metrics: Metrics | null;
25
+ validatorMonitor: ValidatorMonitor | null;
24
26
  network: Network;
25
27
  chain: IBeaconChain;
26
28
  api: BeaconApiMethods;
@@ -37,7 +39,7 @@ export type BeaconNodeInitModules = {
37
39
  db: IBeaconDb;
38
40
  logger: LoggerNode;
39
41
  processShutdownCallback: ProcessShutdownCallback;
40
- peerId: PeerId;
42
+ privateKey: PrivateKey;
41
43
  dataDir: string;
42
44
  peerStoreDir?: string;
43
45
  anchorState: BeaconStateAllForks;
@@ -60,6 +62,7 @@ export declare class BeaconNode {
60
62
  metrics: Metrics | null;
61
63
  metricsServer: HttpMetricsServer | null;
62
64
  monitoring: MonitoringService | null;
65
+ validatorMonitor: ValidatorMonitor | null;
63
66
  network: Network;
64
67
  chain: IBeaconChain;
65
68
  api: BeaconApiMethods;
@@ -68,12 +71,12 @@ export declare class BeaconNode {
68
71
  backfillSync: BackfillSync | null;
69
72
  status: BeaconNodeStatus;
70
73
  private controller?;
71
- constructor({ opts, config, db, metrics, metricsServer, monitoring, network, chain, api, restApi, sync, backfillSync, controller, }: BeaconNodeModules);
74
+ constructor({ opts, config, db, metrics, metricsServer, monitoring, validatorMonitor, network, chain, api, restApi, sync, backfillSync, controller, }: BeaconNodeModules);
72
75
  /**
73
76
  * Initialize a beacon node. Initializes and `start`s the varied sub-component services of the
74
77
  * beacon node
75
78
  */
76
- static init<T extends BeaconNode = BeaconNode>({ opts, config, db, logger, processShutdownCallback, peerId, dataDir, peerStoreDir, anchorState, wsCheckpoint, metricsRegistries, }: BeaconNodeInitModules): Promise<T>;
79
+ static init<T extends BeaconNode = BeaconNode>({ opts, config, db, logger, processShutdownCallback, privateKey, dataDir, peerStoreDir, anchorState, wsCheckpoint, metricsRegistries, }: BeaconNodeInitModules): Promise<T>;
77
80
  /**
78
81
  * Stop beacon node and its sub-components.
79
82
  */
@@ -1,9 +1,9 @@
1
1
  import { setMaxListeners } from "node:events";
2
- import { callFnWhenAwait, sleep } from "@lodestar/utils";
2
+ import { hasher } from "@chainsafe/persistent-merkle-tree";
3
+ import { sleep } from "@lodestar/utils";
3
4
  import { BeaconRestApiServer, getApi } from "../api/index.js";
4
- import { pruneHistory } from "../chain/archiver/pruneHistory.js";
5
- import { HistoricalStateRegen } from "../chain/historicalState/index.js";
6
5
  import { BeaconChain, initBeaconMetrics } from "../chain/index.js";
6
+ import { createValidatorMonitor } from "../chain/validatorMonitor.js";
7
7
  import { initializeEth1ForBlockProduction } from "../eth1/index.js";
8
8
  import { initializeExecutionBuilder, initializeExecutionEngine } from "../execution/index.js";
9
9
  import { createMetrics, getHttpMetricsServer } from "../metrics/index.js";
@@ -46,12 +46,13 @@ const DELAY_BEFORE_CLOSING_DB_MS = 500;
46
46
  * Ethereum Consensus ecosystem as well as systems for getting beacon node metadata.
47
47
  */
48
48
  export class BeaconNode {
49
- constructor({ opts, config, db, metrics, metricsServer, monitoring, network, chain, api, restApi, sync, backfillSync, controller, }) {
49
+ constructor({ opts, config, db, metrics, metricsServer, monitoring, validatorMonitor, network, chain, api, restApi, sync, backfillSync, controller, }) {
50
50
  this.opts = opts;
51
51
  this.config = config;
52
52
  this.metrics = metrics;
53
53
  this.metricsServer = metricsServer;
54
54
  this.monitoring = monitoring;
55
+ this.validatorMonitor = validatorMonitor;
55
56
  this.db = db;
56
57
  this.chain = chain;
57
58
  this.api = api;
@@ -66,7 +67,10 @@ export class BeaconNode {
66
67
  * Initialize a beacon node. Initializes and `start`s the varied sub-component services of the
67
68
  * beacon node
68
69
  */
69
- static async init({ opts, config, db, logger, processShutdownCallback, peerId, dataDir, peerStoreDir, anchorState, wsCheckpoint, metricsRegistries = [], }) {
70
+ static async init({ opts, config, db, logger, processShutdownCallback, privateKey, dataDir, peerStoreDir, anchorState, wsCheckpoint, metricsRegistries = [], }) {
71
+ if (hasher.name !== "hashtree") {
72
+ throw Error(`Loaded incorrect hasher ${hasher.name}, expected hashtree`);
73
+ }
70
74
  const controller = new AbortController();
71
75
  // We set infinity to prevent MaxListenersExceededWarning which get logged when listeners > 10
72
76
  // Since it is perfectly fine to have listeners > 10
@@ -81,42 +85,32 @@ export class BeaconNode {
81
85
  if (opts.metrics.enabled ||
82
86
  // monitoring relies on metrics data
83
87
  opts.monitoring.endpoint) {
84
- metrics = createMetrics(opts.metrics, config, anchorState, logger.child({ module: LoggerModule.vmon }), metricsRegistries);
88
+ metrics = createMetrics(opts.metrics, anchorState.genesisTime, metricsRegistries);
85
89
  initBeaconMetrics(metrics, anchorState);
86
90
  // Since the db is instantiated before this, metrics must be injected manually afterwards
87
91
  db.setMetrics(metrics.db);
88
92
  signal.addEventListener("abort", metrics.close, { once: true });
89
93
  }
94
+ const validatorMonitor = opts.metrics.enabled || opts.validatorMonitor.validatorMonitorLogs
95
+ ? createValidatorMonitor(metrics, config, anchorState.genesisTime, logger.child({ module: LoggerModule.vmon }), opts.validatorMonitor)
96
+ : null;
90
97
  const clock = new Clock({ config, genesisTime: anchorState.genesisTime, signal });
91
98
  // Prune hot db repos
92
99
  // TODO: Should this call be awaited?
93
100
  await db.pruneHotDb();
94
- if (opts.chain.pruneHistory) {
95
- // prune ALL stale data before starting
96
- logger.info("Pruning historical data");
97
- await callFnWhenAwait(pruneHistory(config, db, logger, metrics, anchorState.finalizedCheckpoint.epoch, clock.currentEpoch), () => logger.info("Still pruning historical data, please wait..."), 30_000, signal);
98
- }
99
101
  const monitoring = opts.monitoring.endpoint
100
102
  ? new MonitoringService("beacon", { ...opts.monitoring, endpoint: opts.monitoring.endpoint }, { register: metrics.register, logger: logger.child({ module: LoggerModule.monitoring }) })
101
103
  : null;
102
- const historicalStateRegen = await HistoricalStateRegen.init({
103
- opts: {
104
- genesisTime: anchorState.genesisTime,
105
- dbLocation: opts.db.name,
106
- },
107
- config,
108
- metrics,
109
- logger: logger.child({ module: LoggerModule.chain }),
110
- signal,
111
- });
112
104
  const chain = new BeaconChain(opts.chain, {
113
105
  config,
114
106
  clock,
115
107
  dataDir,
116
108
  db,
109
+ dbName: opts.db.name,
117
110
  logger: logger.child({ module: LoggerModule.chain }),
118
111
  processShutdownCallback,
119
112
  metrics,
113
+ validatorMonitor,
120
114
  anchorState,
121
115
  eth1: initializeEth1ForBlockProduction(opts.eth1, {
122
116
  config,
@@ -133,10 +127,9 @@ export class BeaconNode {
133
127
  executionBuilder: opts.executionBuilder.enabled
134
128
  ? initializeExecutionBuilder(opts.executionBuilder, config, metrics, logger)
135
129
  : undefined,
136
- historicalStateRegen,
137
130
  });
138
131
  // Load persisted data from disk to in-memory caches
139
- await chain.loadFromDisk();
132
+ await chain.init();
140
133
  // Network needs to be initialized before the sync
141
134
  // See https://github.com/ChainSafe/lodestar/issues/4543
142
135
  const network = await Network.init({
@@ -146,7 +139,7 @@ export class BeaconNode {
146
139
  metrics,
147
140
  chain,
148
141
  db,
149
- peerId,
142
+ privateKey,
150
143
  peerStoreDir,
151
144
  getReqRespHandler: getReqRespHandlers({ db, chain }),
152
145
  });
@@ -185,7 +178,7 @@ export class BeaconNode {
185
178
  const metricsServer = opts.metrics.enabled
186
179
  ? await getHttpMetricsServer(opts.metrics, {
187
180
  register: metrics.register,
188
- getOtherMetrics: async () => Promise.all([network.scrapeMetrics(), historicalStateRegen.scrapeMetrics()]),
181
+ getOtherMetrics: async () => Promise.all([network.scrapeMetrics(), chain.archiveStore.scrapeMetrics()]),
189
182
  logger: logger.child({ module: LoggerModule.metrics }),
190
183
  })
191
184
  : null;
@@ -207,6 +200,7 @@ export class BeaconNode {
207
200
  metrics,
208
201
  metricsServer,
209
202
  monitoring,
203
+ validatorMonitor,
210
204
  network,
211
205
  chain,
212
206
  api,
@@ -1 +1 @@
1
- {"version":3,"file":"nodejs.js","sourceRoot":"","sources":["../../src/node/nodejs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodejs.js","sourceRoot":"","sources":["../../src/node/nodejs.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { ApiOptions } from "../api/options.js";
2
- import { DEFAULT_STATE_ARCHIVE_MODE, IChainOptions, StateArchiveMode } from "../chain/options.js";
2
+ import { ArchiveMode, DEFAULT_ARCHIVE_MODE, IChainOptions } from "../chain/options.js";
3
+ import { ValidatorMonitorOpts } from "../chain/validatorMonitor.js";
3
4
  import { DatabaseOptions } from "../db/options.js";
4
5
  import { Eth1Options } from "../eth1/options.js";
5
6
  import { ExecutionBuilderOpts, ExecutionEngineOpts, defaultExecutionBuilderHttpOpts, defaultExecutionEngineHttpOpts } from "../execution/index.js";
@@ -8,7 +9,7 @@ import { MonitoringOptions } from "../monitoring/options.js";
8
9
  import { NetworkOptions } from "../network/options.js";
9
10
  import { SyncOptions } from "../sync/options.js";
10
11
  export { allNamespaces } from "../api/rest/index.js";
11
- export { defaultExecutionEngineHttpOpts, defaultExecutionBuilderHttpOpts, StateArchiveMode, DEFAULT_STATE_ARCHIVE_MODE };
12
+ export { defaultExecutionEngineHttpOpts, defaultExecutionBuilderHttpOpts, ArchiveMode, DEFAULT_ARCHIVE_MODE };
12
13
  export interface IBeaconNodeOptions {
13
14
  api: ApiOptions;
14
15
  chain: IChainOptions;
@@ -17,6 +18,7 @@ export interface IBeaconNodeOptions {
17
18
  executionEngine: ExecutionEngineOpts;
18
19
  executionBuilder: ExecutionBuilderOpts;
19
20
  metrics: MetricsOptions;
21
+ validatorMonitor: ValidatorMonitorOpts;
20
22
  monitoring: MonitoringOptions;
21
23
  network: NetworkOptions;
22
24
  sync: SyncOptions;
@@ -1,5 +1,6 @@
1
1
  import { defaultApiOptions } from "../api/options.js";
2
- import { DEFAULT_STATE_ARCHIVE_MODE, StateArchiveMode, defaultChainOptions } from "../chain/options.js";
2
+ import { ArchiveMode, DEFAULT_ARCHIVE_MODE, defaultChainOptions } from "../chain/options.js";
3
+ import { defaultValidatorMonitorOpts } from "../chain/validatorMonitor.js";
3
4
  import { defaultDbOptions } from "../db/options.js";
4
5
  import { defaultEth1Options } from "../eth1/options.js";
5
6
  import { defaultExecutionBuilderHttpOpts, defaultExecutionBuilderOpts, defaultExecutionEngineHttpOpts, defaultExecutionEngineOpts, } from "../execution/index.js";
@@ -10,7 +11,7 @@ import { defaultSyncOptions } from "../sync/options.js";
10
11
  // Re-export so the CLI doesn't need to depend on lodestar-api
11
12
  export { allNamespaces } from "../api/rest/index.js";
12
13
  // Re-export to use as default values in CLI args
13
- export { defaultExecutionEngineHttpOpts, defaultExecutionBuilderHttpOpts, StateArchiveMode, DEFAULT_STATE_ARCHIVE_MODE };
14
+ export { defaultExecutionEngineHttpOpts, defaultExecutionBuilderHttpOpts, ArchiveMode, DEFAULT_ARCHIVE_MODE };
14
15
  export const defaultOptions = {
15
16
  api: defaultApiOptions,
16
17
  chain: defaultChainOptions,
@@ -19,6 +20,7 @@ export const defaultOptions = {
19
20
  executionEngine: defaultExecutionEngineOpts,
20
21
  executionBuilder: defaultExecutionBuilderOpts,
21
22
  metrics: defaultMetricsOptions,
23
+ validatorMonitor: defaultValidatorMonitorOpts,
22
24
  monitoring: defaultMonitoringOptions,
23
25
  network: defaultNetworkOptions,
24
26
  sync: defaultSyncOptions,
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/node/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAC,0BAA0B,EAAiB,gBAAgB,EAAE,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AACrH,OAAO,EAAkB,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAc,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAGL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAiB,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAoB,wBAAwB,EAAC,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAiB,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAc,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AACnE,8DAA8D;AAC9D,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AAEnD,iDAAiD;AACjD,OAAO,EAAC,8BAA8B,EAAE,+BAA+B,EAAE,gBAAgB,EAAE,0BAA0B,EAAC,CAAC;AAevH,MAAM,CAAC,MAAM,cAAc,GAAuB;IAChD,GAAG,EAAE,iBAAiB;IACtB,KAAK,EAAE,mBAAmB;IAC1B,EAAE,EAAE,gBAAgB;IACpB,IAAI,EAAE,kBAAkB;IACxB,eAAe,EAAE,0BAA0B;IAC3C,gBAAgB,EAAE,2BAA2B;IAC7C,OAAO,EAAE,qBAAqB;IAC9B,UAAU,EAAE,wBAAwB;IACpC,OAAO,EAAE,qBAAqB;IAC9B,IAAI,EAAE,kBAAkB;CACzB,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/node/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAiB,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAC1G,OAAO,EAAuB,2BAA2B,EAAC,MAAM,8BAA8B,CAAC;AAC/F,OAAO,EAAkB,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAc,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAGL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAiB,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAoB,wBAAwB,EAAC,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAiB,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAc,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AACnE,8DAA8D;AAC9D,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AAEnD,iDAAiD;AACjD,OAAO,EAAC,8BAA8B,EAAE,+BAA+B,EAAE,WAAW,EAAE,oBAAoB,EAAC,CAAC;AAgB5G,MAAM,CAAC,MAAM,cAAc,GAAuB;IAChD,GAAG,EAAE,iBAAiB;IACtB,KAAK,EAAE,mBAAmB;IAC1B,EAAE,EAAE,gBAAgB;IACpB,IAAI,EAAE,kBAAkB;IACxB,eAAe,EAAE,0BAA0B;IAC3C,gBAAgB,EAAE,2BAA2B;IAC7C,OAAO,EAAE,qBAAqB;IAC9B,gBAAgB,EAAE,2BAA2B;IAC7C,UAAU,EAAE,wBAAwB;IACpC,OAAO,EAAE,qBAAqB;IAC9B,IAAI,EAAE,kBAAkB;CACzB,CAAC"}
@@ -2,6 +2,6 @@ import { peerIdFromString } from "@libp2p/peer-id";
2
2
  import { base58btc } from "multiformats/bases/base58";
3
3
  export { peerIdFromString };
4
4
  export function peerIdToString(peerId) {
5
- return base58btc.encode(peerId.multihash.bytes).slice(1);
5
+ return base58btc.encode(peerId.toMultihash().bytes).slice(1);
6
6
  }
7
7
  //# sourceMappingURL=peerId.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"peerId.js","sourceRoot":"","sources":["../../src/util/peerId.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AASpD,OAAO,EAAC,gBAAgB,EAAC,CAAC;AAE1B,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"peerId.js","sourceRoot":"","sources":["../../src/util/peerId.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AASpD,OAAO,EAAC,gBAAgB,EAAC,CAAC;AAE1B,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.29.0-dev.656eef3b16",
14
+ "version": "1.29.0-dev.713062c107",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -94,55 +94,54 @@
94
94
  "check-readme": "typescript-docs-verifier"
95
95
  },
96
96
  "dependencies": {
97
- "@chainsafe/as-sha256": "^1.0.0",
97
+ "@chainsafe/as-sha256": "^1.1.0",
98
98
  "@chainsafe/blst": "^2.1.0",
99
- "@chainsafe/discv5": "^9.0.0",
100
- "@chainsafe/enr": "^3.0.0",
101
- "@chainsafe/libp2p-gossipsub": "^13.0.0",
102
- "@chainsafe/libp2p-identify": "^1.0.0",
103
- "@chainsafe/libp2p-noise": "^15.0.0",
104
- "@chainsafe/persistent-merkle-tree": "^1.0.1",
99
+ "@chainsafe/discv5": "^11.0.0",
100
+ "@chainsafe/enr": "^5.0.0",
101
+ "@chainsafe/libp2p-gossipsub": "^14.1.1",
102
+ "@chainsafe/libp2p-noise": "^16.1.0",
103
+ "@chainsafe/persistent-merkle-tree": "^1.1.0",
105
104
  "@chainsafe/prometheus-gc-stats": "^1.0.0",
106
105
  "@chainsafe/pubkey-index-map": "2.0.0",
107
- "@chainsafe/ssz": "^1.0.2",
106
+ "@chainsafe/ssz": "^1.2.0",
108
107
  "@chainsafe/threads": "^1.11.1",
109
108
  "@ethersproject/abi": "^5.7.0",
110
109
  "@fastify/bearer-auth": "^10.0.1",
111
110
  "@fastify/cors": "^10.0.1",
112
111
  "@fastify/swagger": "^9.0.0",
113
112
  "@fastify/swagger-ui": "^5.0.1",
114
- "@libp2p/bootstrap": "^10.0.21",
115
- "@libp2p/identify": "^1.0.20",
116
- "@libp2p/interface": "^1.3.0",
117
- "@libp2p/mdns": "^10.0.21",
118
- "@libp2p/mplex": "^10.0.21",
119
- "@libp2p/peer-id": "^4.1.0",
120
- "@libp2p/peer-id-factory": "^4.1.0",
121
- "@libp2p/prometheus-metrics": "^3.0.21",
122
- "@libp2p/tcp": "9.0.23",
123
- "@lodestar/api": "1.29.0-dev.656eef3b16",
124
- "@lodestar/config": "1.29.0-dev.656eef3b16",
125
- "@lodestar/db": "1.29.0-dev.656eef3b16",
126
- "@lodestar/fork-choice": "1.29.0-dev.656eef3b16",
127
- "@lodestar/light-client": "1.29.0-dev.656eef3b16",
128
- "@lodestar/logger": "1.29.0-dev.656eef3b16",
129
- "@lodestar/params": "1.29.0-dev.656eef3b16",
130
- "@lodestar/reqresp": "1.29.0-dev.656eef3b16",
131
- "@lodestar/state-transition": "1.29.0-dev.656eef3b16",
132
- "@lodestar/types": "1.29.0-dev.656eef3b16",
133
- "@lodestar/utils": "1.29.0-dev.656eef3b16",
134
- "@lodestar/validator": "1.29.0-dev.656eef3b16",
113
+ "@libp2p/bootstrap": "^11.0.32",
114
+ "@libp2p/crypto": "^5.0.15",
115
+ "@libp2p/identify": "3.0.27",
116
+ "@libp2p/interface": "^2.7.0",
117
+ "@libp2p/mdns": "^11.0.32",
118
+ "@libp2p/mplex": "^11.0.32",
119
+ "@libp2p/peer-id": "^5.1.0",
120
+ "@libp2p/prometheus-metrics": "^4.3.15",
121
+ "@libp2p/tcp": "^10.1.8",
122
+ "@lodestar/api": "1.29.0-dev.713062c107",
123
+ "@lodestar/config": "1.29.0-dev.713062c107",
124
+ "@lodestar/db": "1.29.0-dev.713062c107",
125
+ "@lodestar/fork-choice": "1.29.0-dev.713062c107",
126
+ "@lodestar/light-client": "1.29.0-dev.713062c107",
127
+ "@lodestar/logger": "1.29.0-dev.713062c107",
128
+ "@lodestar/params": "1.29.0-dev.713062c107",
129
+ "@lodestar/reqresp": "1.29.0-dev.713062c107",
130
+ "@lodestar/state-transition": "1.29.0-dev.713062c107",
131
+ "@lodestar/types": "1.29.0-dev.713062c107",
132
+ "@lodestar/utils": "1.29.0-dev.713062c107",
133
+ "@lodestar/validator": "1.29.0-dev.713062c107",
135
134
  "@multiformats/multiaddr": "^12.1.3",
136
135
  "c-kzg": "^2.1.2",
137
- "datastore-core": "^9.1.1",
138
- "datastore-level": "^10.1.1",
136
+ "datastore-core": "^10.0.2",
137
+ "datastore-level": "^11.0.1",
139
138
  "deepmerge": "^4.3.1",
140
139
  "fastify": "^5.2.1",
141
- "interface-datastore": "^8.2.7",
140
+ "interface-datastore": "^8.3.0",
142
141
  "it-all": "^3.0.4",
143
142
  "it-pipe": "^3.0.1",
144
143
  "jwt-simple": "0.5.6",
145
- "libp2p": "1.4.3",
144
+ "libp2p": "2.8.2",
146
145
  "multiformats": "^11.0.1",
147
146
  "prom-client": "^15.1.0",
148
147
  "qs": "^6.11.1",
@@ -168,5 +167,5 @@
168
167
  "beacon",
169
168
  "blockchain"
170
169
  ],
171
- "gitHead": "0b4f05ea4a58ce420c7e34936e859651a60ab1e7"
170
+ "gitHead": "647413d462e405d98fa6f76b83e73970078b8254"
172
171
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"archiveBlocks.js","sourceRoot":"","sources":["../../../src/chain/archiver/archiveBlocks.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- import { Logger } from "@lodestar/utils";
2
- import { IBeaconDb } from "../../db/index.js";
3
- import { Metrics } from "../../metrics/metrics.js";
4
- import { IBeaconChain } from "../interface.js";
5
- import { ArchiverOpts, StateArchiveMode } from "./interface.js";
6
- export declare const DEFAULT_STATE_ARCHIVE_MODE = StateArchiveMode.Frequency;
7
- export declare const PROCESS_FINALIZED_CHECKPOINT_QUEUE_LEN = 256;
8
- /**
9
- * Used for running tasks that depends on some events or are executed
10
- * periodically.
11
- */
12
- export declare class Archiver {
13
- private readonly db;
14
- private readonly chain;
15
- private readonly logger;
16
- private readonly opts;
17
- private readonly metrics?;
18
- private stateArchiveMode;
19
- private jobQueue;
20
- private prevFinalized;
21
- private readonly statesArchiverStrategy;
22
- private archiveBlobEpochs?;
23
- constructor(db: IBeaconDb, chain: IBeaconChain, logger: Logger, signal: AbortSignal, opts: ArchiverOpts, metrics?: (Metrics | null) | undefined);
24
- /** Archive latest finalized state */
25
- persistToDisk(): Promise<void>;
26
- private onFinalizedCheckpoint;
27
- private onCheckpoint;
28
- private processFinalizedCheckpoint;
29
- /**
30
- * Backfill sync relies on verified connected ranges (which are represented as key,value
31
- * with a verified jump from a key back to value). Since the node could have progressed
32
- * ahead from, we need to save the forward progress of this node as another backfill
33
- * range entry, that backfill sync will use to jump back if this node is restarted
34
- * for any reason.
35
- * The current backfill has its own backfill entry from anchor slot to last backfilled
36
- * slot. And this would create the entry from the current finalized slot to the anchor
37
- * slot.
38
- */
39
- private updateBackfillRange;
40
- }
41
- //# sourceMappingURL=archiver.d.ts.map
@@ -1,122 +0,0 @@
1
- import { JobItemQueue } from "../../util/queue/index.js";
2
- import { ChainEvent } from "../emitter.js";
3
- import { archiveBlocks } from "./archiveBlocks.js";
4
- import { StateArchiveMode } from "./interface.js";
5
- import { pruneHistory } from "./pruneHistory.js";
6
- import { FrequencyStateArchiveStrategy } from "./strategies/frequencyStateArchiveStrategy.js";
7
- export const DEFAULT_STATE_ARCHIVE_MODE = StateArchiveMode.Frequency;
8
- export const PROCESS_FINALIZED_CHECKPOINT_QUEUE_LEN = 256;
9
- /**
10
- * Used for running tasks that depends on some events or are executed
11
- * periodically.
12
- */
13
- export class Archiver {
14
- constructor(db, chain, logger, signal, opts, metrics) {
15
- this.db = db;
16
- this.chain = chain;
17
- this.logger = logger;
18
- this.opts = opts;
19
- this.metrics = metrics;
20
- this.onFinalizedCheckpoint = async (finalized) => {
21
- return this.jobQueue.push(finalized);
22
- };
23
- this.onCheckpoint = () => {
24
- const headStateRoot = this.chain.forkChoice.getHead().stateRoot;
25
- this.chain.regen.pruneOnCheckpoint(this.chain.forkChoice.getFinalizedCheckpoint().epoch, this.chain.forkChoice.getJustifiedCheckpoint().epoch, headStateRoot);
26
- this.statesArchiverStrategy.onCheckpoint(headStateRoot, this.metrics).catch((err) => {
27
- this.logger.error("Error during state archive", { stateArchiveMode: this.stateArchiveMode }, err);
28
- });
29
- };
30
- this.processFinalizedCheckpoint = async (finalized) => {
31
- try {
32
- const finalizedEpoch = finalized.epoch;
33
- this.logger.verbose("Start processing finalized checkpoint", { epoch: finalizedEpoch, rootHex: finalized.rootHex });
34
- await archiveBlocks(this.chain.config, this.db, this.chain.forkChoice, this.chain.lightClientServer, this.logger, finalized, this.chain.clock.currentEpoch, this.archiveBlobEpochs);
35
- if (this.opts.pruneHistory) {
36
- await pruneHistory(this.chain.config, this.db, this.logger, this.metrics, finalizedEpoch, this.chain.clock.currentEpoch);
37
- }
38
- this.prevFinalized = finalized;
39
- await this.statesArchiverStrategy.onFinalizedCheckpoint(finalized, this.metrics);
40
- // should be after ArchiveBlocksTask to handle restart cleanly
41
- await this.statesArchiverStrategy.maybeArchiveState(finalized, this.metrics);
42
- this.chain.regen.pruneOnFinalized(finalizedEpoch);
43
- // tasks rely on extended fork choice
44
- const prunedBlocks = this.chain.forkChoice.prune(finalized.rootHex);
45
- await this.updateBackfillRange(finalized);
46
- this.logger.verbose("Finish processing finalized checkpoint", {
47
- epoch: finalizedEpoch,
48
- rootHex: finalized.rootHex,
49
- prunedBlocks: prunedBlocks.length,
50
- });
51
- }
52
- catch (e) {
53
- this.logger.error("Error processing finalized checkpoint", { epoch: finalized.epoch }, e);
54
- }
55
- };
56
- /**
57
- * Backfill sync relies on verified connected ranges (which are represented as key,value
58
- * with a verified jump from a key back to value). Since the node could have progressed
59
- * ahead from, we need to save the forward progress of this node as another backfill
60
- * range entry, that backfill sync will use to jump back if this node is restarted
61
- * for any reason.
62
- * The current backfill has its own backfill entry from anchor slot to last backfilled
63
- * slot. And this would create the entry from the current finalized slot to the anchor
64
- * slot.
65
- */
66
- this.updateBackfillRange = async (finalized) => {
67
- try {
68
- // Mark the sequence in backfill db from finalized block's slot till anchor slot as
69
- // filled.
70
- const finalizedBlockFC = this.chain.forkChoice.getBlockHex(finalized.rootHex);
71
- if (finalizedBlockFC && finalizedBlockFC.slot > this.chain.anchorStateLatestBlockSlot) {
72
- await this.db.backfilledRanges.put(finalizedBlockFC.slot, this.chain.anchorStateLatestBlockSlot);
73
- // Clear previously marked sequence till anchorStateLatestBlockSlot, without
74
- // touching backfill sync process sequence which are at
75
- // <=anchorStateLatestBlockSlot i.e. clear >anchorStateLatestBlockSlot
76
- // and < currentSlot
77
- const filteredSeqs = await this.db.backfilledRanges.entries({
78
- gt: this.chain.anchorStateLatestBlockSlot,
79
- lt: finalizedBlockFC.slot,
80
- });
81
- this.logger.debug("updated backfilledRanges", {
82
- key: finalizedBlockFC.slot,
83
- value: this.chain.anchorStateLatestBlockSlot,
84
- });
85
- if (filteredSeqs.length > 0) {
86
- await this.db.backfilledRanges.batchDelete(filteredSeqs.map((entry) => entry.key));
87
- this.logger.debug(`Forward Sync - cleaned up backfilledRanges between ${finalizedBlockFC.slot},${this.chain.anchorStateLatestBlockSlot}`, { seqs: JSON.stringify(filteredSeqs) });
88
- }
89
- }
90
- }
91
- catch (e) {
92
- this.logger.error("Error updating backfilledRanges on finalization", { epoch: finalized.epoch }, e);
93
- }
94
- };
95
- if (opts.stateArchiveMode === StateArchiveMode.Frequency) {
96
- this.statesArchiverStrategy = new FrequencyStateArchiveStrategy(chain.regen, db, logger, opts, chain.bufferPool);
97
- }
98
- else {
99
- throw new Error(`State archive strategy "${opts.stateArchiveMode}" currently not supported.`);
100
- }
101
- this.stateArchiveMode = opts.stateArchiveMode;
102
- this.archiveBlobEpochs = opts.archiveBlobEpochs;
103
- this.prevFinalized = chain.forkChoice.getFinalizedCheckpoint();
104
- this.jobQueue = new JobItemQueue(this.processFinalizedCheckpoint, {
105
- maxLength: PROCESS_FINALIZED_CHECKPOINT_QUEUE_LEN,
106
- signal,
107
- });
108
- if (!opts.disableArchiveOnCheckpoint) {
109
- this.chain.emitter.on(ChainEvent.forkChoiceFinalized, this.onFinalizedCheckpoint);
110
- this.chain.emitter.on(ChainEvent.checkpoint, this.onCheckpoint);
111
- signal.addEventListener("abort", () => {
112
- this.chain.emitter.off(ChainEvent.forkChoiceFinalized, this.onFinalizedCheckpoint);
113
- this.chain.emitter.off(ChainEvent.checkpoint, this.onCheckpoint);
114
- }, { once: true });
115
- }
116
- }
117
- /** Archive latest finalized state */
118
- async persistToDisk() {
119
- return this.statesArchiverStrategy.archiveState(this.chain.forkChoice.getFinalizedCheckpoint());
120
- }
121
- }
122
- //# sourceMappingURL=archiver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"archiver.js","sourceRoot":"","sources":["../../../src/chain/archiver/archiver.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export * from "./archiver.js";
2
- export * from "./interface.js";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1,3 +0,0 @@
1
- export * from "./archiver.js";
2
- export * from "./interface.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/archiver/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
@@ -1,8 +0,0 @@
1
- export var StateArchiveMode;
2
- (function (StateArchiveMode) {
3
- StateArchiveMode["Frequency"] = "frequency";
4
- // New strategy to be implemented
5
- // WIP: https://github.com/ChainSafe/lodestar/pull/7005
6
- // Differential = "diff",
7
- })(StateArchiveMode || (StateArchiveMode = {}));
8
- //# sourceMappingURL=interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/chain/archiver/interface.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,2CAAuB,CAAA;IACvB,iCAAiC;IACjC,uDAAuD;IACvD,yBAAyB;AAC3B,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B"}