import { defaultOptions as defaultValidatorOptions } from "@lodestar/validator";
import { DEFAULT_ARCHIVE_MODE } from "./archiveStore/constants.js";
import { ArchiveMode } from "./archiveStore/interface.js";
import { DEFAULT_MAX_BLOCK_STATES } from "./stateCache/fifoBlockStateCache.js";
import { DEFAULT_MAX_CP_STATE_EPOCHS_IN_MEMORY, DEFAULT_MAX_CP_STATE_ON_DISK, } from "./stateCache/persistentCheckpointsCache.js";
export { ArchiveMode, DEFAULT_ARCHIVE_MODE };
export const defaultChainOptions = {
    blsVerifyAllMainThread: false,
    blsVerifyAllMultiThread: false,
    blacklistedBlocks: [],
    disableBlsBatchVerify: false,
    proposerBoost: true,
    proposerBoostReorg: true,
    computeUnrealized: true,
    suggestedFeeRecipient: defaultValidatorOptions.suggestedFeeRecipient,
    serveHistoricalState: false,
    assertCorrectProgressiveBalances: false,
    archiveStateEpochFrequency: 1024,
    archiveMode: DEFAULT_ARCHIVE_MODE,
    pruneHistory: false,
    emitPayloadAttributes: false,
    // for gossip block validation, it's unlikely we see a reorg with 32 slots
    // for attestation validation, having this value ensures we don't have to regen states most of the time
    maxSkipSlots: 32,
    broadcastValidationStrictness: "warn",
    // should be less than or equal to MIN_SIGNATURE_SETS_TO_BATCH_VERIFY
    // batching too much may block the I/O thread so if useWorker=false, suggest this value to be 32
    // since this batch attestation work is designed to work with useWorker=true, make this the lowest value
    minSameMessageSignatureSetsToBatch: 2,
    // as of Feb 2025, this option turned out to be very useful:
    //   - it allows to share a persisted checkpoint state to other nodes
    //   - users can prune the persisted checkpoint state files manually to save disc space
    //   - it helps debug easier when network is unfinalized
    nHistoricalStatesFileDataStore: true,
    maxBlockStates: DEFAULT_MAX_BLOCK_STATES,
    maxCPStateEpochsInMemory: DEFAULT_MAX_CP_STATE_EPOCHS_IN_MEMORY,
    maxCPStateEpochsOnDisk: DEFAULT_MAX_CP_STATE_ON_DISK,
};
//# sourceMappingURL=options.js.map