diff --git a/packages/api/src/beacon/client/debug.ts b/packages/api/src/beacon/client/debug.ts index 94bf6af746eb..be9acc7e1a08 100644 --- a/packages/api/src/beacon/client/debug.ts +++ b/packages/api/src/beacon/client/debug.ts @@ -38,7 +38,6 @@ export function getClient(_config: IChainForkConfig, httpClient: IHttpClient): A timeoutMs: GET_STATE_TIMEOUT_MS, }); // Casting to any otherwise Typescript doesn't like the multi-type return - // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-explicit-any return { ok: true, response: new Uint8Array(res.body), @@ -58,7 +57,6 @@ export function getClient(_config: IChainForkConfig, httpClient: IHttpClient): A timeoutMs: GET_STATE_TIMEOUT_MS, }); // Casting to any otherwise Typescript doesn't like the multi-type return - // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-explicit-any return {ok: true, response: new Uint8Array(res.body), status: res.status} as ApiClientResponse<{ [HttpStatusCode.OK]: Uint8Array; }>; diff --git a/packages/api/src/beacon/routes/beacon/index.ts b/packages/api/src/beacon/routes/beacon/index.ts index 0cddd2d2a894..f6e739b4fdc4 100644 --- a/packages/api/src/beacon/routes/beacon/index.ts +++ b/packages/api/src/beacon/routes/beacon/index.ts @@ -48,7 +48,7 @@ export type ReqTypes = { [K in keyof ReturnType]: ReturnType[K]["writeReq"]>; }; -// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type +// eslint-disable-next-line @typescript-eslint/explicit-function-return-type export function getReqSerializers(config: IChainForkConfig) { return { getGenesis: reqEmpty, diff --git a/packages/api/src/beacon/routes/events.ts b/packages/api/src/beacon/routes/events.ts index 2dd1d6a34442..1b139cc39cf3 100644 --- a/packages/api/src/beacon/routes/events.ts +++ b/packages/api/src/beacon/routes/events.ts @@ -200,7 +200,7 @@ export function getTypeByEvent(): {[K in EventType]: Type} { }; } -// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type +// eslint-disable-next-line @typescript-eslint/explicit-function-return-type export function getEventSerdes() { const typeByEvent = getTypeByEvent(); diff --git a/packages/api/src/beacon/routes/lodestar.ts b/packages/api/src/beacon/routes/lodestar.ts index 3d08114edaa5..44771b432176 100644 --- a/packages/api/src/beacon/routes/lodestar.ts +++ b/packages/api/src/beacon/routes/lodestar.ts @@ -213,7 +213,6 @@ export function getReqSerializers(): ReqSerializers { }; } -/* eslint-disable @typescript-eslint/naming-convention */ export function getReturnTypes(): ReturnTypes { return { writeHeapdump: sameType(), diff --git a/packages/api/src/interfaces.ts b/packages/api/src/interfaces.ts index 54a48c286053..b9e3c3a92d59 100644 --- a/packages/api/src/interfaces.ts +++ b/packages/api/src/interfaces.ts @@ -1,7 +1,7 @@ import {HttpStatusCode, HttpSuccessCodes} from "./utils/client/httpStatusCode.js"; import {Resolves} from "./utils/types.js"; -/* eslint-disable @typescript-eslint/naming-convention, @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-explicit-any */ export type APIClientHandler = (...args: any) => PromiseLike; export type APIServerHandler = (...args: any) => PromiseLike; diff --git a/packages/api/src/keymanager/routes.ts b/packages/api/src/keymanager/routes.ts index 6177fecc49cc..7f93a03ed799 100644 --- a/packages/api/src/keymanager/routes.ts +++ b/packages/api/src/keymanager/routes.ts @@ -349,7 +349,6 @@ export function getReqSerializers(): ReqSerializers { }; } -/* eslint-disable @typescript-eslint/naming-convention */ export function getReturnTypes(): ReturnTypes { return { listKeys: jsonType("snake"), diff --git a/packages/api/src/utils/client/client.ts b/packages/api/src/utils/client/client.ts index 3e6310887eb5..0a8cd95204b1 100644 --- a/packages/api/src/utils/client/client.ts +++ b/packages/api/src/utils/client/client.ts @@ -12,7 +12,7 @@ import {FetchOpts, HttpError, IHttpClient} from "./httpClient.js"; * Format FetchFn opts from Fn arguments given a route definition and request serializer. * For routes that return only JSOn use @see getGenericJsonClient */ -// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type +// eslint-disable-next-line @typescript-eslint/explicit-function-return-type export function getFetchOptsSerializer any, ReqType extends ReqGeneric>( routeDef: RouteDef, reqSerializer: ReqSerializer, @@ -36,7 +36,7 @@ export function getFetchOptsSerializer any, ReqType /** * Generate `getFetchOptsSerializer()` functions for all routes in `Api` */ -// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type +// eslint-disable-next-line @typescript-eslint/explicit-function-return-type export function getFetchOptsSerializers< Api extends Record, ReqTypes extends {[K in keyof Api]: ReqGeneric} diff --git a/packages/api/src/utils/server/genericJsonServer.ts b/packages/api/src/utils/server/genericJsonServer.ts index 1e39fd497c0f..5d79ebbadf7b 100644 --- a/packages/api/src/utils/server/genericJsonServer.ts +++ b/packages/api/src/utils/server/genericJsonServer.ts @@ -1,5 +1,4 @@ import {mapValues} from "@lodestar/utils"; -// eslint-disable-next-line import/no-extraneous-dependencies import {IChainForkConfig} from "@lodestar/config"; import {ReqGeneric, TypeJson, Resolves, RouteGroupDefinition} from "../types.js"; import {getFastifySchema} from "../schema.js"; @@ -9,7 +8,7 @@ import {ServerRoute} from "./types.js"; // See /packages/api/src/routes/index.ts for reasoning -/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/naming-convention */ +/* eslint-disable @typescript-eslint/no-explicit-any */ export type ServerRoutes< Api extends Record, diff --git a/packages/api/src/utils/server/types.ts b/packages/api/src/utils/server/types.ts index ae602a8477ec..a25c606b8a1c 100644 --- a/packages/api/src/utils/server/types.ts +++ b/packages/api/src/utils/server/types.ts @@ -19,7 +19,7 @@ export type ServerRoute = { id: string; }; -/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/naming-convention */ +/* eslint-disable @typescript-eslint/naming-convention */ /** Adaptor for Fastify v3.x.x route type which has a ton of arguments */ export type FastifyHandler = fastify.RouteHandlerMethod< diff --git a/packages/api/test/unit/beacon/testData/config.ts b/packages/api/test/unit/beacon/testData/config.ts index d88479b7de43..463d584880a3 100644 --- a/packages/api/test/unit/beacon/testData/config.ts +++ b/packages/api/test/unit/beacon/testData/config.ts @@ -5,8 +5,6 @@ import {activePreset, presetToJson} from "@lodestar/params"; import {Api} from "../../../../src/beacon/routes/config.js"; import {GenericServerTestCases} from "../../../utils/genericServerTest.js"; -/* eslint-disable @typescript-eslint/naming-convention */ - const configJson = chainConfigToJson(chainConfig); const presetJson = presetToJson(activePreset); const jsonSpec = {...configJson, ...presetJson}; diff --git a/packages/api/test/utils/genericServerTest.ts b/packages/api/test/utils/genericServerTest.ts index aa629f05d693..43b5f8589ebd 100644 --- a/packages/api/test/utils/genericServerTest.ts +++ b/packages/api/test/utils/genericServerTest.ts @@ -49,7 +49,6 @@ export function runGenericServerTest< mockApi[routeId].resolves(testCases[routeId].res); // Do the call - // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment const res = await (client[routeId] as APIClientHandler)(...(testCase.args as any[])); // Use spy to assert argument serialization diff --git a/packages/beacon-node/src/api/impl/events/index.ts b/packages/beacon-node/src/api/impl/events/index.ts index 3466fee2fccc..18f9ff160b3a 100644 --- a/packages/beacon-node/src/api/impl/events/index.ts +++ b/packages/beacon-node/src/api/impl/events/index.ts @@ -18,7 +18,7 @@ export function getEventsApi({chain}: Pick): Ser const handler = (data: any): void => { // TODO: What happens if this handler throws? Does it break the other chain.emitter listeners? - // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment onEvent({type: topic, message: data}); }; diff --git a/packages/beacon-node/src/api/impl/lodestar/index.ts b/packages/beacon-node/src/api/impl/lodestar/index.ts index e22ac6bdf295..daf423672dbb 100644 --- a/packages/beacon-node/src/api/impl/lodestar/index.ts +++ b/packages/beacon-node/src/api/impl/lodestar/index.ts @@ -119,7 +119,6 @@ export function getLodestarApi({ }, async runGC() { - // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions if (!global.gc) throw Error("You must expose GC running the Node.js process with 'node --expose_gc'"); global.gc(); }, diff --git a/packages/beacon-node/src/chain/blocks/index.ts b/packages/beacon-node/src/chain/blocks/index.ts index f290c002a703..33ce1fd24cb9 100644 --- a/packages/beacon-node/src/chain/blocks/index.ts +++ b/packages/beacon-node/src/chain/blocks/index.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment */ import {allForks} from "@lodestar/types"; import {toHex} from "@lodestar/utils"; import {JobItemQueue} from "../../util/queue/index.js"; diff --git a/packages/beacon-node/src/chain/blocks/utils/ownBanner.ts b/packages/beacon-node/src/chain/blocks/utils/ownBanner.ts index e2d49243f8a1..b14b778d53ef 100644 --- a/packages/beacon-node/src/chain/blocks/utils/ownBanner.ts +++ b/packages/beacon-node/src/chain/blocks/utils/ownBanner.ts @@ -1,4 +1,3 @@ -/* eslint-disable no-useless-escape */ export const CAPELLA_OWL_BANNER = String.raw` /^----^\ diff --git a/packages/beacon-node/src/chain/blocks/utils/pandaMergeTransitionBanner.ts b/packages/beacon-node/src/chain/blocks/utils/pandaMergeTransitionBanner.ts index ea1b6133785a..53251cb9a035 100644 --- a/packages/beacon-node/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +++ b/packages/beacon-node/src/chain/blocks/utils/pandaMergeTransitionBanner.ts @@ -1,4 +1,3 @@ -/* eslint-disable no-useless-escape */ // Note: 1 extra new line for space // Note: String.raw preserve backslash character // see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw diff --git a/packages/beacon-node/src/chain/bls/multithread/worker.ts b/packages/beacon-node/src/chain/bls/multithread/worker.ts index 8e3800edc5f7..ac33a356a23f 100644 --- a/packages/beacon-node/src/chain/bls/multithread/worker.ts +++ b/packages/beacon-node/src/chain/bls/multithread/worker.ts @@ -16,8 +16,6 @@ import {chunkifyMaximizeChunkSize} from "./utils.js"; */ const BATCHABLE_MIN_PER_CHUNK = 16; -/* eslint-disable no-console */ - // Cloned data from instatiation const workerData = worker.workerData as WorkerData; if (!workerData) throw Error("workerData must be defined"); diff --git a/packages/beacon-node/src/chain/opPools/aggregatedAttestationPool.ts b/packages/beacon-node/src/chain/opPools/aggregatedAttestationPool.ts index 9a3531dc76e3..2b7711261865 100644 --- a/packages/beacon-node/src/chain/opPools/aggregatedAttestationPool.ts +++ b/packages/beacon-node/src/chain/opPools/aggregatedAttestationPool.ts @@ -194,7 +194,6 @@ export class AggregatedAttestationPool { } } -// eslint-disable-next-line @typescript-eslint/naming-convention interface AttestationWithIndex { attestation: phase0.Attestation; trueBitsCount: number; diff --git a/packages/beacon-node/src/chain/options.ts b/packages/beacon-node/src/chain/options.ts index 0f804dfd46c9..21358d5b1b28 100644 --- a/packages/beacon-node/src/chain/options.ts +++ b/packages/beacon-node/src/chain/options.ts @@ -4,7 +4,6 @@ import {ArchiverOpts} from "./archiver/index.js"; import {ForkChoiceOpts} from "./forkChoice/index.js"; import {LightClientServerOpts} from "./lightClient/index.js"; -// eslint-disable-next-line @typescript-eslint/ban-types export type IChainOptions = BlockProcessOpts & ForkChoiceOpts & ArchiverOpts & diff --git a/packages/beacon-node/src/chain/reprocess.ts b/packages/beacon-node/src/chain/reprocess.ts index 32a82d6e1a79..51b01fbf54b3 100644 --- a/packages/beacon-node/src/chain/reprocess.ts +++ b/packages/beacon-node/src/chain/reprocess.ts @@ -24,7 +24,6 @@ enum ReprocessStatus { type AwaitingAttestationPromise = { resolve: (foundBlock: boolean) => void; - // eslint-disable-next-line @typescript-eslint/no-explicit-any promise: Promise; // there are multiple subnet/aggregated attestations waiting for same promise awaitingAttestationsCount: number; diff --git a/packages/beacon-node/src/constants/network.ts b/packages/beacon-node/src/constants/network.ts index 0f3cff4e8fc4..9c59426e8cee 100644 --- a/packages/beacon-node/src/constants/network.ts +++ b/packages/beacon-node/src/constants/network.ts @@ -1,5 +1,3 @@ -/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ - /** * For more info on some of these constants: * https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md#configuration @@ -28,7 +26,6 @@ export enum GoodByeReasonCode { BANNED = 251, } -// eslint-disable-next-line @typescript-eslint/naming-convention export const GOODBYE_KNOWN_CODES: Record = { 0: "Unknown", diff --git a/packages/beacon-node/src/db/repositories/stateArchive.ts b/packages/beacon-node/src/db/repositories/stateArchive.ts index 82ccfe21c8bf..9c81ba98bc9b 100644 --- a/packages/beacon-node/src/db/repositories/stateArchive.ts +++ b/packages/beacon-node/src/db/repositories/stateArchive.ts @@ -6,8 +6,6 @@ import {Db, Bucket, Repository} from "@lodestar/db"; import {getStateTypeFromBytes} from "../../util/multifork.js"; import {getRootIndexKey, storeRootIndex} from "./stateArchiveIndex.js"; -/* eslint-disable @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call */ - export class StateArchiveRepository extends Repository { constructor(config: IChainForkConfig, db: Db) { // Pick some type but won't be used. Casted to any because no type can match `BeaconStateAllForks` diff --git a/packages/beacon-node/src/eth1/provider/jwt.ts b/packages/beacon-node/src/eth1/provider/jwt.ts index e38a47127bbc..bc844755634f 100644 --- a/packages/beacon-node/src/eth1/provider/jwt.ts +++ b/packages/beacon-node/src/eth1/provider/jwt.ts @@ -1,9 +1,7 @@ import type {TAlgorithm} from "jwt-simple"; // TODO: fix jwt-simple types -// eslint-disable-next-line import/default import jwt from "jwt-simple"; -// eslint-disable-next-line import/no-named-as-default-member const {encode, decode} = jwt; /** jwt token has iat which is issued at unix timestamp, and an optional exp for expiry */ diff --git a/packages/beacon-node/src/eth1/provider/utils.ts b/packages/beacon-node/src/eth1/provider/utils.ts index b2794ca9e403..0217a8fddfbd 100644 --- a/packages/beacon-node/src/eth1/provider/utils.ts +++ b/packages/beacon-node/src/eth1/provider/utils.ts @@ -3,8 +3,6 @@ import {bytesToBigInt, bigIntToBytes} from "@lodestar/utils"; import {fromHexString, toHexString} from "@chainsafe/ssz"; import {ErrorParseJson} from "./jsonRpcHttpClient.js"; -/* eslint-disable @typescript-eslint/naming-convention */ - /** QUANTITY as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API */ export type QUANTITY = string; /** DATA as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API */ diff --git a/packages/beacon-node/src/metrics/metrics/beacon.ts b/packages/beacon-node/src/metrics/metrics/beacon.ts index 36df109ebf73..220d18a42df6 100644 --- a/packages/beacon-node/src/metrics/metrics/beacon.ts +++ b/packages/beacon-node/src/metrics/metrics/beacon.ts @@ -7,7 +7,7 @@ export type IBeaconMetrics = ReturnType; * https://github.com/ethereum/beacon-metrics/ and * https://hackmd.io/D5FmoeFZScim_squBFl8oA */ -// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type +// eslint-disable-next-line @typescript-eslint/explicit-function-return-type export function createBeaconMetrics(register: RegistryMetricCreator) { return { // From https://github.com/ethereum/beacon-metrics/blob/master/metrics.md diff --git a/packages/beacon-node/src/metrics/metrics/lodestar.ts b/packages/beacon-node/src/metrics/metrics/lodestar.ts index 07598594b120..3fd1a82b0b64 100644 --- a/packages/beacon-node/src/metrics/metrics/lodestar.ts +++ b/packages/beacon-node/src/metrics/metrics/lodestar.ts @@ -7,7 +7,7 @@ export type ILodestarMetrics = ReturnType; /** * Extra Lodestar custom metrics */ -// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type +// eslint-disable-next-line @typescript-eslint/explicit-function-return-type export function createLodestarMetrics( register: RegistryMetricCreator, metadata?: LodestarMetadata, diff --git a/packages/beacon-node/src/network/gossip/gossipsub.ts b/packages/beacon-node/src/network/gossip/gossipsub.ts index bc9306864cf7..85c63badd9e9 100644 --- a/packages/beacon-node/src/network/gossip/gossipsub.ts +++ b/packages/beacon-node/src/network/gossip/gossipsub.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/naming-convention */ import {GossipSub, GossipsubEvents} from "@chainsafe/libp2p-gossipsub"; import {SignaturePolicy, TopicStr} from "@chainsafe/libp2p-gossipsub/types"; import {PeerScore, PeerScoreParams} from "@chainsafe/libp2p-gossipsub/score"; diff --git a/packages/beacon-node/src/network/gossip/topic.ts b/packages/beacon-node/src/network/gossip/topic.ts index 8cbf9093e0e2..d8a9e9fe62d4 100644 --- a/packages/beacon-node/src/network/gossip/topic.ts +++ b/packages/beacon-node/src/network/gossip/topic.ts @@ -69,7 +69,7 @@ function stringifyGossipTopicType(topic: GossipTopic): string { } } -// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type +// eslint-disable-next-line @typescript-eslint/explicit-function-return-type export function getGossipSSZType(topic: GossipTopic) { switch (topic.type) { case GossipType.beacon_block: diff --git a/packages/beacon-node/src/network/util.ts b/packages/beacon-node/src/network/util.ts index c988c724e594..18675a07392a 100644 --- a/packages/beacon-node/src/network/util.ts +++ b/packages/beacon-node/src/network/util.ts @@ -9,8 +9,6 @@ import type {DefaultDialer} from "libp2p/connection-manager/dialer/index.js"; import type {ENR} from "@chainsafe/discv5"; import type {Libp2p} from "./interface.js"; -/* eslint-disable @typescript-eslint/no-explicit-any */ - // peers /** diff --git a/packages/beacon-node/src/util/kzg.ts b/packages/beacon-node/src/util/kzg.ts index c13e5026eea5..f3c0d96fd7eb 100644 --- a/packages/beacon-node/src/util/kzg.ts +++ b/packages/beacon-node/src/util/kzg.ts @@ -32,7 +32,6 @@ export let ckzg: { // Global variable __dirname no longer available in ES6 modules. // Solutions: https://stackoverflow.com/questions/46745014/alternative-for-dirname-in-node-js-when-using-es6-modules -// eslint-disable-next-line @typescript-eslint/naming-convention const __dirname = path.dirname(fileURLToPath(import.meta.url)); export const TRUSTED_SETUP_BIN_FILEPATH = path.join(__dirname, "../../trusted_setup.bin"); const TRUSTED_SETUP_JSON_FILEPATH = path.join(__dirname, "../../trusted_setup.json"); @@ -49,7 +48,6 @@ export async function initCKZG(): Promise { /* eslint-disable import/no-extraneous-dependencies, @typescript-eslint/ban-ts-comment */ // @ts-ignore ckzg = (await import("c-kzg")) as typeof ckzg; - /* eslint-enable import/no-extraneous-dependencies, @typescript-eslint/ban-ts-comment */ } /** diff --git a/packages/beacon-node/test/e2e/doppelganger/doppelganger.test.ts b/packages/beacon-node/test/e2e/doppelganger/doppelganger.test.ts index 6db434d48370..0dbbab838ce2 100644 --- a/packages/beacon-node/test/e2e/doppelganger/doppelganger.test.ts +++ b/packages/beacon-node/test/e2e/doppelganger/doppelganger.test.ts @@ -15,7 +15,6 @@ import {getDevBeaconNode} from "../../utils/node/beacon.js"; import {waitForEvent} from "../../utils/events/resolver.js"; import {BeaconNode} from "../../../src/node/index.js"; -/* eslint-disable @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment */ // TODO: Reconsider this tests latter. // Doppelganger testing can be split in two items: // 1. Can a running beacon node detect liveness of the validator? diff --git a/packages/beacon-node/test/e2e/eth1/eth1ForBlockProduction.test.ts b/packages/beacon-node/test/e2e/eth1/eth1ForBlockProduction.test.ts index f90b2c1080ad..46ff2d323767 100644 --- a/packages/beacon-node/test/e2e/eth1/eth1ForBlockProduction.test.ts +++ b/packages/beacon-node/test/e2e/eth1/eth1ForBlockProduction.test.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-unsafe-member-access */ import "mocha"; import {promisify} from "node:util"; import {expect} from "chai"; @@ -79,7 +78,6 @@ describe.skip("eth1 / Eth1Provider", function () { }); // Resolves when Eth1ForBlockProduction has fetched both blocks and deposits - // eslint-disable-next-line @typescript-eslint/explicit-function-return-type const {eth1Datas, deposits} = await (async function resolveWithEth1DataAndDeposits() { // eslint-disable-next-line no-constant-condition while (true) { diff --git a/packages/beacon-node/test/e2e/network/peers/peerManager.test.ts b/packages/beacon-node/test/e2e/network/peers/peerManager.test.ts index 8003ce723320..08d2f4600630 100644 --- a/packages/beacon-node/test/e2e/network/peers/peerManager.test.ts +++ b/packages/beacon-node/test/e2e/network/peers/peerManager.test.ts @@ -162,7 +162,6 @@ describe("network / peers / PeerManager", function () { const {chain, libp2p, networkEventBus} = await mockModules(); // Simualate a peer connection, get() should return truthy - // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call getConnectionsMap(libp2p.connectionManager).set(peerId1.toString(), [libp2pConnectionOutboud]); // Subscribe to `peerConnected` event, which must fire after checking peer relevance @@ -179,7 +178,6 @@ describe("network / peers / PeerManager", function () { const {chain, libp2p, reqResp, peerManager, networkEventBus} = await mockModules(); // Simualate a peer connection, get() should return truthy - // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call getConnectionsMap(libp2p.connectionManager).set(peerId1.toString(), [libp2pConnectionOutboud]); // Subscribe to `peerConnected` event, which must fire after checking peer relevance @@ -193,7 +191,6 @@ describe("network / peers / PeerManager", function () { reqResp.metadata.resolves(remoteMetadata); // Simualate a peer connection, get() should return truthy - // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call getConnectionsMap(libp2p.connectionManager).set(peerId1.toString(), [libp2pConnectionOutboud]); (libp2p.connectionManager as DefaultConnectionManager).dispatchEvent( new CustomEvent("peer:connect", {detail: libp2pConnectionOutboud}) diff --git a/packages/beacon-node/test/e2e/network/reqresp.test.ts b/packages/beacon-node/test/e2e/network/reqresp.test.ts index 3c052201ab93..ad56be57a77d 100644 --- a/packages/beacon-node/test/e2e/network/reqresp.test.ts +++ b/packages/beacon-node/test/e2e/network/reqresp.test.ts @@ -83,7 +83,6 @@ describe("network / ReqResp", function () { const peerIdB = await createSecp256k1PeerId(); const [libp2pA, libp2pB] = await Promise.all([createNode(multiaddr), createNode(multiaddr, peerIdB)]); - // eslint-disable-next-line const notImplemented = async function* (): AsyncIterable { throw Error("not implemented"); }; diff --git a/packages/beacon-node/test/sim/mergemock.test.ts b/packages/beacon-node/test/sim/mergemock.test.ts index 7ab57882fe51..d3601ff20d3f 100644 --- a/packages/beacon-node/test/sim/mergemock.test.ts +++ b/packages/beacon-node/test/sim/mergemock.test.ts @@ -24,7 +24,7 @@ import {shell} from "./shell.js"; // ETH_PORT=8661 ENGINE_PORT=8551 yarn mocha test/sim/mergemock.test.ts // ``` -/* eslint-disable no-console, @typescript-eslint/naming-convention, quotes */ +/* eslint-disable no-console, @typescript-eslint/naming-convention */ const jwtSecretHex = "0xdc6457099f127cf0bac78de8b297df04951281909db4f58b43def7c7151e765d"; diff --git a/packages/beacon-node/test/sim/withdrawal-interop.test.ts b/packages/beacon-node/test/sim/withdrawal-interop.test.ts index 4cd98a36c50d..eb4d828c4241 100644 --- a/packages/beacon-node/test/sim/withdrawal-interop.test.ts +++ b/packages/beacon-node/test/sim/withdrawal-interop.test.ts @@ -29,7 +29,7 @@ import {shell} from "./shell.js"; // EL_BINARY_DIR=g11tech/geth:withdrawals EL_SCRIPT_DIR=gethdocker yarn mocha test/sim/withdrawal-interop.test.ts // ``` -/* eslint-disable no-console, @typescript-eslint/naming-convention, quotes */ +/* eslint-disable no-console, @typescript-eslint/naming-convention */ const jwtSecretHex = "0xdc6457099f127cf0bac78de8b297df04951281909db4f58b43def7c7151e765d"; const retryAttempts = defaultExecutionEngineHttpOpts.retryAttempts; diff --git a/packages/beacon-node/test/spec/bls/index.test.ts b/packages/beacon-node/test/spec/bls/index.test.ts index 9791af96c4cd..35b44eec8f9d 100644 --- a/packages/beacon-node/test/spec/bls/index.test.ts +++ b/packages/beacon-node/test/spec/bls/index.test.ts @@ -12,8 +12,6 @@ const skippedTestNames = [ "deserialization_succeeds_infinity_with_true_b_flag.yaml", ]; -/* eslint-disable @typescript-eslint/naming-convention */ - /** * File path structure: * ``` diff --git a/packages/beacon-node/test/spec/general/ssz_generic.ts b/packages/beacon-node/test/spec/general/ssz_generic.ts index b8894567af3e..64263353dc79 100644 --- a/packages/beacon-node/test/spec/general/ssz_generic.ts +++ b/packages/beacon-node/test/spec/general/ssz_generic.ts @@ -6,8 +6,6 @@ import {parseSszGenericInvalidTestcase, parseSszGenericValidTestcase} from "../u import {runValidSszTest} from "../utils/runValidSszTest.js"; import {getTestType} from "./ssz_generic_types.js"; -/* eslint-disable @typescript-eslint/naming-convention */ - // Mapping of sszGeneric() fn arguments to the path in spec tests // // / config / fork / test runner / test handler / test suite / test case diff --git a/packages/beacon-node/test/spec/presets/fork_choice.ts b/packages/beacon-node/test/spec/presets/fork_choice.ts index 87785cda3ba1..bd9c77741ddf 100644 --- a/packages/beacon-node/test/spec/presets/fork_choice.ts +++ b/packages/beacon-node/test/spec/presets/fork_choice.ts @@ -26,8 +26,6 @@ import {assertCorrectProgressiveBalances} from "../config.js"; /* eslint-disable @typescript-eslint/naming-convention */ -/* eslint-disable @typescript-eslint/naming-convention */ - const ANCHOR_STATE_FILE_NAME = "anchor_state"; const ANCHOR_BLOCK_FILE_NAME = "anchor_block"; const BLOCK_FILE_NAME = "^(block)_([0-9a-zA-Z]+)$"; diff --git a/packages/beacon-node/test/spec/presets/ssz_static.ts b/packages/beacon-node/test/spec/presets/ssz_static.ts index 01c9dabdb7e4..17e9d342cf9c 100644 --- a/packages/beacon-node/test/spec/presets/ssz_static.ts +++ b/packages/beacon-node/test/spec/presets/ssz_static.ts @@ -17,15 +17,6 @@ import {runValidSszTest} from "../utils/runValidSszTest.js"; // // Docs: https://github.com/ethereum/consensus-specs/blob/master/tests/formats/ssz_static/core.md -/* eslint-disable - @typescript-eslint/naming-convention, - @typescript-eslint/no-unsafe-assignment, - @typescript-eslint/no-unsafe-call, - @typescript-eslint/no-unsafe-member-access, - no-console -*/ - -// eslint-disable-next-line type Types = Record>; // Mapping of sszGeneric() fn arguments to the path in spec tests diff --git a/packages/beacon-node/test/spec/utils/replaceUintTypeWithUintBigintType.ts b/packages/beacon-node/test/spec/utils/replaceUintTypeWithUintBigintType.ts index 57e7f3ac3354..a2617f7cca14 100644 --- a/packages/beacon-node/test/spec/utils/replaceUintTypeWithUintBigintType.ts +++ b/packages/beacon-node/test/spec/utils/replaceUintTypeWithUintBigintType.ts @@ -1,5 +1,4 @@ -/* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment -, @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment */ import { Type, diff --git a/packages/beacon-node/test/spec/utils/sszTestCaseParser.ts b/packages/beacon-node/test/spec/utils/sszTestCaseParser.ts index 5c2e176e2396..704abc734cd2 100644 --- a/packages/beacon-node/test/spec/utils/sszTestCaseParser.ts +++ b/packages/beacon-node/test/spec/utils/sszTestCaseParser.ts @@ -4,10 +4,7 @@ import {uncompress} from "snappyjs"; import jsyaml from "js-yaml"; import {loadYaml} from "@lodestar/utils"; -/* eslint-disable - @typescript-eslint/explicit-module-boundary-types, - @typescript-eslint/explicit-function-return-type -*/ +/* eslint-disable @typescript-eslint/explicit-function-return-type */ export type ValidTestCaseData = { root: string; diff --git a/packages/beacon-node/test/unit/api/impl/node/node.test.ts b/packages/beacon-node/test/unit/api/impl/node/node.test.ts index d383f1d96a9c..c9fab7c7d6fc 100644 --- a/packages/beacon-node/test/unit/api/impl/node/node.test.ts +++ b/packages/beacon-node/test/unit/api/impl/node/node.test.ts @@ -1,5 +1,3 @@ -/* eslint-disable @typescript-eslint/no-unsafe-assignment */ -/* eslint-disable @typescript-eslint/no-unsafe-return */ import {Connection} from "@libp2p/interface-connection"; import sinon, {SinonStubbedInstance} from "sinon"; import {PeerId} from "@libp2p/interface-peer-id"; diff --git a/packages/beacon-node/test/unit/api/impl/validator/duties/proposer.test.ts b/packages/beacon-node/test/unit/api/impl/validator/duties/proposer.test.ts index fc647a75b00e..9225103fd072 100644 --- a/packages/beacon-node/test/unit/api/impl/validator/duties/proposer.test.ts +++ b/packages/beacon-node/test/unit/api/impl/validator/duties/proposer.test.ts @@ -78,9 +78,7 @@ describe.skip("get proposers api impl", function () { const stubGetNextBeaconProposer = sinon.stub(cachedState.epochCtx, "getBeaconProposersNextEpoch"); const stubGetBeaconProposer = sinon.stub(cachedState.epochCtx, "getBeaconProposer"); stubGetNextBeaconProposer.returns([1]); - // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access const {data: result} = await api.getProposerDuties(1); - // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access expect(result.length).to.be.equal(SLOTS_PER_EPOCH, "result should be equals to slots per epoch"); expect(stubGetNextBeaconProposer, "stubGetBeaconProposer function should not have been called").to.be.called; expect(stubGetBeaconProposer, "stubGetBeaconProposer function should have been called").not.to.be.called; diff --git a/packages/beacon-node/test/unit/chain/blocks/rejectFirstInvalidResolveAllValid.test.ts b/packages/beacon-node/test/unit/chain/blocks/rejectFirstInvalidResolveAllValid.test.ts index eb92e3ff5713..f2ee7e0bde02 100644 --- a/packages/beacon-node/test/unit/chain/blocks/rejectFirstInvalidResolveAllValid.test.ts +++ b/packages/beacon-node/test/unit/chain/blocks/rejectFirstInvalidResolveAllValid.test.ts @@ -68,7 +68,6 @@ function prepareTest() { return {resolves, log, logStrs}; } -// eslint-disable-next-line @typescript-eslint/explicit-function-return-type function resolvablePromise() { let resolve: ((value: T) => void) | null = null; const promise = new Promise((_resolve) => { diff --git a/packages/beacon-node/test/unit/chain/validation/aggregateAndProof.test.ts b/packages/beacon-node/test/unit/chain/validation/aggregateAndProof.test.ts index 632fe45ddd92..d0449477b1d4 100644 --- a/packages/beacon-node/test/unit/chain/validation/aggregateAndProof.test.ts +++ b/packages/beacon-node/test/unit/chain/validation/aggregateAndProof.test.ts @@ -6,7 +6,6 @@ import {IBeaconChain} from "../../../../src/chain/index.js"; import {AttestationErrorCode} from "../../../../src/chain/errors/index.js"; import {validateGossipAggregateAndProof} from "../../../../src/chain/validation/index.js"; import {expectRejectedWithLodestarError} from "../../../utils/errors.js"; -// eslint-disable-next-line import/no-relative-packages import {generateTestCachedBeaconStateOnlyValidators} from "../../../../../state-transition/test/perf/util.js"; import {memoOnce} from "../../../utils/cache.js"; import { diff --git a/packages/beacon-node/test/unit/chain/validation/attestation.test.ts b/packages/beacon-node/test/unit/chain/validation/attestation.test.ts index d9845e522fcd..646df2f3db9c 100644 --- a/packages/beacon-node/test/unit/chain/validation/attestation.test.ts +++ b/packages/beacon-node/test/unit/chain/validation/attestation.test.ts @@ -6,7 +6,6 @@ import {IBeaconChain} from "../../../../src/chain/index.js"; import {AttestationErrorCode} from "../../../../src/chain/errors/index.js"; import {validateGossipAttestation} from "../../../../src/chain/validation/index.js"; import {expectRejectedWithLodestarError} from "../../../utils/errors.js"; -// eslint-disable-next-line import/no-relative-packages import {generateTestCachedBeaconStateOnlyValidators} from "../../../../../state-transition/test/perf/util.js"; import {memoOnce} from "../../../utils/cache.js"; import {getAttestationValidData, AttestationValidDataOpts} from "../../../utils/validationData/attestation.js"; diff --git a/packages/beacon-node/test/unit/db/api/repository.test.ts b/packages/beacon-node/test/unit/db/api/repository.test.ts index 6747a7b46325..99bdce9e7f95 100644 --- a/packages/beacon-node/test/unit/db/api/repository.test.ts +++ b/packages/beacon-node/test/unit/db/api/repository.test.ts @@ -7,7 +7,6 @@ import {Bytes32, ssz} from "@lodestar/types"; import {config} from "@lodestar/config/default"; import {Db, LevelDbController, Repository, Bucket} from "@lodestar/db"; -// eslint-disable-next-line @typescript-eslint/naming-convention interface TestType { bool: boolean; bytes: Bytes32; diff --git a/packages/beacon-node/test/utils/logger.ts b/packages/beacon-node/test/utils/logger.ts index a3f83d957e5c..c9afdc6425e5 100644 --- a/packages/beacon-node/test/utils/logger.ts +++ b/packages/beacon-node/test/utils/logger.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment */ import winston from "winston"; import {createWinstonLogger, ILogger, LogLevel, TimestampFormat} from "@lodestar/utils"; export {LogLevel}; diff --git a/packages/beacon-node/test/utils/network.ts b/packages/beacon-node/test/utils/network.ts index ea9b128668f0..2b83229105b0 100644 --- a/packages/beacon-node/test/utils/network.ts +++ b/packages/beacon-node/test/utils/network.ts @@ -38,14 +38,12 @@ export async function disconnect(network: INetworkDebug, peer: PeerId): Promise< export function onPeerConnect(network: Network): Promise { return new Promise((resolve) => - // eslint-disable-next-line @typescript-eslint/no-unsafe-return network["libp2p"].connectionManager.addEventListener(Libp2pEvent.peerConnect, () => resolve()) ); } export function onPeerDisconnect(network: Network): Promise { return new Promise((resolve) => - // eslint-disable-next-line @typescript-eslint/no-unsafe-return network["libp2p"].connectionManager.addEventListener(Libp2pEvent.peerDisconnect, () => resolve()) ); } diff --git a/packages/beacon-node/test/utils/stub/beaconDb.ts b/packages/beacon-node/test/utils/stub/beaconDb.ts index 3e775030f4d4..cb7e2e8cea01 100644 --- a/packages/beacon-node/test/utils/stub/beaconDb.ts +++ b/packages/beacon-node/test/utils/stub/beaconDb.ts @@ -39,7 +39,6 @@ export class StubbedBeaconDb extends BeaconDb { depositDataRoot: SinonStubbedInstance & DepositDataRootRepository; eth1Data: SinonStubbedInstance & Eth1DataRepository; - // eslint-disable-next-line @typescript-eslint/no-unused-vars constructor(config = minimalConfig) { // eslint-disable-next-line super({config, controller: {} as any}); diff --git a/packages/cli/src/cmds/dev/files.ts b/packages/cli/src/cmds/dev/files.ts index 01e69fcd77a6..33edf112d6c6 100644 --- a/packages/cli/src/cmds/dev/files.ts +++ b/packages/cli/src/cmds/dev/files.ts @@ -7,7 +7,7 @@ import {interopSecretKey} from "@lodestar/state-transition"; import {Keystore} from "@chainsafe/bls-keystore"; import {PersistedKeysBackend} from "../validator/keymanager/persistedKeys.js"; -/* eslint-disable @typescript-eslint/naming-convention, no-console */ +/* eslint-disable no-console */ export async function writeTestnetFiles( config: IChainForkConfig, diff --git a/packages/cli/src/cmds/validator/signers/importExternalKeystores.ts b/packages/cli/src/cmds/validator/signers/importExternalKeystores.ts index 561b3e33e117..648b4dc180eb 100644 --- a/packages/cli/src/cmds/validator/signers/importExternalKeystores.ts +++ b/packages/cli/src/cmds/validator/signers/importExternalKeystores.ts @@ -60,7 +60,6 @@ export function isVotingKeystore(filename: string): boolean { // The format exported by the `staking-deposit-cli` library. // // Reference to function that generates keystores: - // eslint-disable-next-line max-len // https://github.com/ethereum/staking-deposit-cli/blob/7cebff15eac299b3b1b090c896dd3410c8463450/eth2deposit/credentials.py#L58-L62 // // Since we include the key derivation path of `m/12381/3600/x/0/0` this should only ever match diff --git a/packages/cli/src/cmds/validator/slashingProtection/export.ts b/packages/cli/src/cmds/validator/slashingProtection/export.ts index 8474a1ce45a6..2bef20299102 100644 --- a/packages/cli/src/cmds/validator/slashingProtection/export.ts +++ b/packages/cli/src/cmds/validator/slashingProtection/export.ts @@ -9,8 +9,6 @@ import {getValidatorPaths} from "../paths.js"; import {getGenesisValidatorsRoot, getSlashingProtection} from "./utils.js"; import {ISlashingProtectionArgs} from "./options.js"; -/* eslint-disable no-console */ - interface IExportArgs { file: string; } diff --git a/packages/cli/src/cmds/validator/slashingProtection/import.ts b/packages/cli/src/cmds/validator/slashingProtection/import.ts index f0281dcdd9fe..32230fb204e3 100644 --- a/packages/cli/src/cmds/validator/slashingProtection/import.ts +++ b/packages/cli/src/cmds/validator/slashingProtection/import.ts @@ -10,8 +10,6 @@ import {getValidatorPaths} from "../paths.js"; import {getGenesisValidatorsRoot, getSlashingProtection} from "./utils.js"; import {ISlashingProtectionArgs} from "./options.js"; -/* eslint-disable no-console */ - interface IImportArgs { file: string; } diff --git a/packages/cli/src/networks/dev.ts b/packages/cli/src/networks/dev.ts index 1eaedfdabbaf..dcce9c51cc2e 100644 --- a/packages/cli/src/networks/dev.ts +++ b/packages/cli/src/networks/dev.ts @@ -15,8 +15,6 @@ switch (ACTIVE_PRESET) { export {chainConfig}; -/* eslint-disable max-len */ - export const depositContractDeployBlock = 0; export const genesisFileUrl = null; export const bootnodesFileUrl = null; diff --git a/packages/cli/src/networks/gnosis.ts b/packages/cli/src/networks/gnosis.ts index bf80d06de7e7..58ecbbe983a3 100644 --- a/packages/cli/src/networks/gnosis.ts +++ b/packages/cli/src/networks/gnosis.ts @@ -1,7 +1,5 @@ export {gnosisChainConfig as chainConfig} from "@lodestar/config/networks"; -/* eslint-disable max-len */ - // eth1.providerUrls suggestion: https://rpc.gnosischain.com export const depositContractDeployBlock = 19469077; export const genesisFileUrl = "https://raw.githubusercontent.com/gnosischain/configs/main/mainnet/genesis.ssz"; diff --git a/packages/cli/src/networks/goerli.ts b/packages/cli/src/networks/goerli.ts index e6001d07785c..0447bdb24302 100644 --- a/packages/cli/src/networks/goerli.ts +++ b/packages/cli/src/networks/goerli.ts @@ -1,7 +1,5 @@ export {goerliChainConfig as chainConfig} from "@lodestar/config/networks"; -/* eslint-disable max-len */ - export const depositContractDeployBlock = 4367322; export const genesisFileUrl = "https://raw.githubusercontent.com/eth2-clients/eth2-testnets/master/shared/prater/genesis.ssz"; diff --git a/packages/cli/src/networks/mainnet.ts b/packages/cli/src/networks/mainnet.ts index 8cafbdc68d8a..c65fabc47efd 100644 --- a/packages/cli/src/networks/mainnet.ts +++ b/packages/cli/src/networks/mainnet.ts @@ -1,7 +1,5 @@ export {mainnetChainConfig as chainConfig} from "@lodestar/config/networks"; -/* eslint-disable max-len */ - export const depositContractDeployBlock = 11052984; export const genesisFileUrl = "https://raw.githubusercontent.com/eth2-clients/eth2-testnets/master/shared/mainnet/genesis.ssz"; diff --git a/packages/cli/src/networks/ropsten.ts b/packages/cli/src/networks/ropsten.ts index 7d44f0ed1768..378277c6b0bd 100644 --- a/packages/cli/src/networks/ropsten.ts +++ b/packages/cli/src/networks/ropsten.ts @@ -1,7 +1,5 @@ export {ropstenChainConfig as chainConfig} from "@lodestar/config/networks"; -/* eslint-disable max-len */ - export const depositContractDeployBlock = 12269949; export const genesisFileUrl = "https://raw.githubusercontent.com/eth-clients/merge-testnets/main/ropsten-beacon-chain/genesis.ssz"; diff --git a/packages/cli/src/networks/sepolia.ts b/packages/cli/src/networks/sepolia.ts index 73c955aee581..878cf40cad54 100644 --- a/packages/cli/src/networks/sepolia.ts +++ b/packages/cli/src/networks/sepolia.ts @@ -1,7 +1,5 @@ export {sepoliaChainConfig as chainConfig} from "@lodestar/config/networks"; -/* eslint-disable max-len */ - export const depositContractDeployBlock = 1273020; export const genesisFileUrl = "https://raw.githubusercontent.com/eth-clients/merge-testnets/main/sepolia/genesis.ssz"; export const bootnodesFileUrl = diff --git a/packages/cli/test/e2e/importFromFsDirect.test.ts b/packages/cli/test/e2e/importFromFsDirect.test.ts index 1a22b67b57a6..a4735f7766f3 100644 --- a/packages/cli/test/e2e/importFromFsDirect.test.ts +++ b/packages/cli/test/e2e/importFromFsDirect.test.ts @@ -8,8 +8,6 @@ import {cachedPubkeysHex, cachedSeckeysHex} from "../utils/cachedKeys.js"; import {expectKeys, getKeymanagerTestRunner} from "../utils/keymanagerTestRunners.js"; import {getKeystoresStr} from "../utils/keystores.js"; -/* eslint-disable no-console */ - describeCliTest("import from fs same cmd as validate", function ({spawnCli}) { const dataDir = path.join(testFilesDir, "import-and-validate-test"); const importFromDir = path.join(dataDir, "eth2.0_deposit_out"); diff --git a/packages/cli/test/e2e/importFromFsPreStep.test.ts b/packages/cli/test/e2e/importFromFsPreStep.test.ts index 46f1d42f42bf..3964372b4cdd 100644 --- a/packages/cli/test/e2e/importFromFsPreStep.test.ts +++ b/packages/cli/test/e2e/importFromFsPreStep.test.ts @@ -9,8 +9,6 @@ import {cachedPubkeysHex, cachedSeckeysHex} from "../utils/cachedKeys.js"; import {expectKeys, getKeymanagerTestRunner} from "../utils/keymanagerTestRunners.js"; import {getKeystoresStr} from "../utils/keystores.js"; -/* eslint-disable no-console */ - describeCliTest("import from fs then validate", function ({spawnCli}) { const dataDir = path.join(testFilesDir, "import-then-validate-test"); const importFromDir = path.join(dataDir, "eth2.0_deposit_out"); diff --git a/packages/cli/test/utils/simulation/Eth1ProviderWithAdmin.ts b/packages/cli/test/utils/simulation/Eth1ProviderWithAdmin.ts index 89a51e7b56c1..01f7a7f11377 100644 --- a/packages/cli/test/utils/simulation/Eth1ProviderWithAdmin.ts +++ b/packages/cli/test/utils/simulation/Eth1ProviderWithAdmin.ts @@ -35,7 +35,6 @@ export class Eth1ProviderWithAdmin extends Eth1Provider { nodeInfo: async (): Promise => { const method = "admin_nodeInfo"; - // eslint-disable-next-line @typescript-eslint/no-unsafe-return return await this.getRpc().fetch( // false = include only transaction roots, not full objects {method, params: []} @@ -45,7 +44,6 @@ export class Eth1ProviderWithAdmin extends Eth1Provider { addPeer: async (enode: string): Promise => { const method = "admin_addPeer"; - // eslint-disable-next-line @typescript-eslint/no-unsafe-return return await this.getRpc().fetch( // false = include only transaction roots, not full objects {method, params: [enode]} diff --git a/packages/cli/test/utils/simulation/el_clients/mock.ts b/packages/cli/test/utils/simulation/el_clients/mock.ts index e2af569d4a98..3eacfd6559c1 100644 --- a/packages/cli/test/utils/simulation/el_clients/mock.ts +++ b/packages/cli/test/utils/simulation/el_clients/mock.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/naming-convention */ import {ELClient, ELClientGenerator, ELGeneratorClientOptions, Runner, RunnerType} from "../interfaces.js"; export const generateMockNode: ELClientGenerator = ( diff --git a/packages/cli/test/utils/simulation/utils/child_process.ts b/packages/cli/test/utils/simulation/utils/child_process.ts index e95a3d9fb814..502a49863797 100644 --- a/packages/cli/test/utils/simulation/utils/child_process.ts +++ b/packages/cli/test/utils/simulation/utils/child_process.ts @@ -53,13 +53,11 @@ export const startChildProcess = async (jobOptions: JobOptions): Promise logHealthChecksAfterMs) { - // eslint-disable-next-line no-console console.log(`Health check unsuccessful '${jobOptions.id}' after ${timeSinceHealthCheckStart} ms`); } } }) .catch((e) => { - // eslint-disable-next-line no-console console.error("error on health check, health functions must never throw", e); }); }, childProcessHealthCheckInterval); diff --git a/packages/config/src/chainConfig/networks/gnosis.ts b/packages/config/src/chainConfig/networks/gnosis.ts index 06e4e23d7546..d11daf0bd5b3 100644 --- a/packages/config/src/chainConfig/networks/gnosis.ts +++ b/packages/config/src/chainConfig/networks/gnosis.ts @@ -4,8 +4,6 @@ import {PresetName} from "@lodestar/params"; import {IChainConfig} from "../types.js"; import {chainConfig as mainnet} from "../presets/mainnet.js"; -/* eslint-disable max-len */ - export const gnosisChainConfig: IChainConfig = { ...mainnet, diff --git a/packages/config/src/chainConfig/networks/goerli.ts b/packages/config/src/chainConfig/networks/goerli.ts index 8796632f3075..48366dead16f 100644 --- a/packages/config/src/chainConfig/networks/goerli.ts +++ b/packages/config/src/chainConfig/networks/goerli.ts @@ -3,8 +3,6 @@ import {fromHexString as b} from "@chainsafe/ssz"; import {IChainConfig} from "../types.js"; import {chainConfig as mainnet} from "../presets/mainnet.js"; -/* eslint-disable max-len */ - export const goerliChainConfig: IChainConfig = { ...mainnet, diff --git a/packages/config/src/chainConfig/networks/mainnet.ts b/packages/config/src/chainConfig/networks/mainnet.ts index 633161328009..4c7e2059df3c 100644 --- a/packages/config/src/chainConfig/networks/mainnet.ts +++ b/packages/config/src/chainConfig/networks/mainnet.ts @@ -3,8 +3,6 @@ import {fromHexString as b} from "@chainsafe/ssz"; import {IChainConfig} from "../types.js"; import {chainConfig as mainnet} from "../presets/mainnet.js"; -/* eslint-disable max-len */ - export const mainnetChainConfig: IChainConfig = { ...mainnet, diff --git a/packages/config/src/chainConfig/networks/ropsten.ts b/packages/config/src/chainConfig/networks/ropsten.ts index c4d604f5cf56..003c66c36104 100644 --- a/packages/config/src/chainConfig/networks/ropsten.ts +++ b/packages/config/src/chainConfig/networks/ropsten.ts @@ -3,8 +3,6 @@ import {fromHexString as b} from "@chainsafe/ssz"; import {IChainConfig} from "../types.js"; import {chainConfig as mainnet} from "../presets/mainnet.js"; -/* eslint-disable max-len */ - // Ropsten beacon chain config: // https://github.com/eth-clients/merge-testnets/blob/main/ropsten-beacon-chain/config.yaml diff --git a/packages/config/src/chainConfig/networks/sepolia.ts b/packages/config/src/chainConfig/networks/sepolia.ts index c7c17d5b1eaa..5ce25e13b511 100644 --- a/packages/config/src/chainConfig/networks/sepolia.ts +++ b/packages/config/src/chainConfig/networks/sepolia.ts @@ -3,8 +3,6 @@ import {fromHexString as b} from "@chainsafe/ssz"; import {IChainConfig} from "../types.js"; import {chainConfig as mainnet} from "../presets/mainnet.js"; -/* eslint-disable max-len */ - // Ropsten beacon chain config: // https://github.com/eth-clients/merge-testnets/blob/main/sepolia-beacon-chain/config.yaml diff --git a/packages/config/src/forkConfig/types.ts b/packages/config/src/forkConfig/types.ts index 4be1ada8befb..3404b07ca975 100644 --- a/packages/config/src/forkConfig/types.ts +++ b/packages/config/src/forkConfig/types.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/naming-convention */ import {ForkName, ForkSeq} from "@lodestar/params"; import {allForks, Epoch, Slot, Version} from "@lodestar/types"; diff --git a/packages/db/src/controller/level.ts b/packages/db/src/controller/level.ts index 714b3d607c0f..5b980071fd50 100644 --- a/packages/db/src/controller/level.ts +++ b/packages/db/src/controller/level.ts @@ -1,5 +1,4 @@ import {Level} from "level"; -// eslint-disable-next-line import/no-extraneous-dependencies import type {ClassicLevel} from "classic-level"; import {DbReqOpts, IDatabaseController, IDatabaseOptions, IFilterOptions, IKeyValue} from "./interface.js"; import {ILevelDbControllerMetrics} from "./metrics.js"; diff --git a/packages/fork-choice/src/forkChoice/forkChoice.ts b/packages/fork-choice/src/forkChoice/forkChoice.ts index 9cdb41d1a4ce..1e18c99400d1 100644 --- a/packages/fork-choice/src/forkChoice/forkChoice.ts +++ b/packages/fork-choice/src/forkChoice/forkChoice.ts @@ -46,8 +46,6 @@ import { } from "./interface.js"; import {IForkChoiceStore, CheckpointWithHex, toCheckpointWithHex, JustifiedBalances} from "./store.js"; -/* eslint-disable max-len */ - export type ForkChoiceOpts = { proposerBoostEnabled?: boolean; computeUnrealized?: boolean; diff --git a/packages/fork-choice/src/forkChoice/store.ts b/packages/fork-choice/src/forkChoice/store.ts index 322f45982b11..16666c352360 100644 --- a/packages/fork-choice/src/forkChoice/store.ts +++ b/packages/fork-choice/src/forkChoice/store.ts @@ -46,8 +46,6 @@ export interface IForkChoiceStore { equivocatingIndices: Set; } -/* eslint-disable @typescript-eslint/naming-convention, @typescript-eslint/member-ordering */ - /** * IForkChoiceStore implementer which emits forkChoice events on updated justified and finalized checkpoints. */ diff --git a/packages/light-client/test/mocks/LightclientServerApiMock.ts b/packages/light-client/test/mocks/LightclientServerApiMock.ts index 2d2d4da12b84..de8a3825cfa7 100644 --- a/packages/light-client/test/mocks/LightclientServerApiMock.ts +++ b/packages/light-client/test/mocks/LightclientServerApiMock.ts @@ -50,7 +50,6 @@ export class LightclientServerApiMock implements ServerApi { if (!this.finalized) throw Error("No finalized head update"); - // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment return {version: ForkName.bellatrix, data: this.finalized}; } diff --git a/packages/light-client/test/unit/sync.node.test.ts b/packages/light-client/test/unit/sync.node.test.ts index c53281cba405..f36ee887bc9b 100644 --- a/packages/light-client/test/unit/sync.node.test.ts +++ b/packages/light-client/test/unit/sync.node.test.ts @@ -82,7 +82,6 @@ describe("sync", () => { // So the first call to getLatestHeadUpdate() doesn't error, store the latest snapshot as latest header update lightclientServerApi.latestHeadUpdate = committeeUpdateToLatestHeadUpdate(lastInMap(lightclientServerApi.updates)); - // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment lightclientServerApi.finalized = committeeUpdateToLatestFinalizedHeadUpdate( lastInMap(lightclientServerApi.updates), targetSlot diff --git a/packages/light-client/test/utils/utils.ts b/packages/light-client/test/utils/utils.ts index 8fb8a87dace6..ad44cd85c8ec 100644 --- a/packages/light-client/test/utils/utils.ts +++ b/packages/light-client/test/utils/utils.ts @@ -20,8 +20,6 @@ import {getLcLoggerConsole} from "../../src/utils/logger.js"; const CURRENT_SYNC_COMMITTEE_INDEX = 22; const CURRENT_SYNC_COMMITTEE_DEPTH = 5; -/* eslint-disable @typescript-eslint/naming-convention */ - /** * To enable debug logs run with * ``` diff --git a/packages/reqresp/src/encodingStrategies/sszSnappy/encode.ts b/packages/reqresp/src/encodingStrategies/sszSnappy/encode.ts index a8842e5e7979..9334b1ce3ed1 100644 --- a/packages/reqresp/src/encodingStrategies/sszSnappy/encode.ts +++ b/packages/reqresp/src/encodingStrategies/sszSnappy/encode.ts @@ -54,7 +54,6 @@ function serializeSszBody(chunk: EncodedPayload, type: TypeSerializer): case EncodedPayloadType.ssz: { try { - // eslint-disable-next-line @typescript-eslint/no-explicit-any const bytes = type.serialize(chunk.data); return Buffer.from(bytes.buffer, bytes.byteOffset, bytes.length); } catch (e) { diff --git a/packages/reqresp/src/metrics.ts b/packages/reqresp/src/metrics.ts index fc99ef1298f0..6ce90e11322f 100644 --- a/packages/reqresp/src/metrics.ts +++ b/packages/reqresp/src/metrics.ts @@ -60,7 +60,7 @@ export type LodestarGitData = { /** * A collection of metrics used throughout the Gossipsub behaviour. */ -// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type +// eslint-disable-next-line @typescript-eslint/explicit-function-return-type export function getMetrics(register: MetricsRegister) { // Using function style instead of class to prevent having to re-declare all MetricsPrometheus types. diff --git a/packages/reqresp/src/protocols/BeaconBlocksByRange.ts b/packages/reqresp/src/protocols/BeaconBlocksByRange.ts index 8c0a08a9e772..82ccb285084a 100644 --- a/packages/reqresp/src/protocols/BeaconBlocksByRange.ts +++ b/packages/reqresp/src/protocols/BeaconBlocksByRange.ts @@ -18,7 +18,6 @@ const BeaconBlocksByRangeCommon: Pick< }, }; -// eslint-disable-next-line @typescript-eslint/naming-convention export const BeaconBlocksByRange: ProtocolDefinitionGenerator< phase0.BeaconBlocksByRangeRequest, allForks.SignedBeaconBlock @@ -32,7 +31,6 @@ export const BeaconBlocksByRange: ProtocolDefinitionGenerator< }; }; -// eslint-disable-next-line @typescript-eslint/naming-convention export const BeaconBlocksByRangeV2: ProtocolDefinitionGenerator< phase0.BeaconBlocksByRangeRequest, allForks.SignedBeaconBlock diff --git a/packages/reqresp/src/protocols/index.ts b/packages/reqresp/src/protocols/index.ts index 787a4368f3a5..0531341c5271 100644 --- a/packages/reqresp/src/protocols/index.ts +++ b/packages/reqresp/src/protocols/index.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/naming-convention */ export {BeaconBlockAndBlobsSidecarByRoot} from "./BeaconBlockAndBlobsSidecarByRoot.js"; export {BeaconBlocksByRoot, BeaconBlocksByRootV2} from "./BeaconBlocksByRoot.js"; export {BeaconBlocksByRange, BeaconBlocksByRangeV2} from "./BeaconBlocksByRange.js"; diff --git a/packages/reqresp/src/types.ts b/packages/reqresp/src/types.ts index 75ae32e80f72..ae5fd2e98096 100644 --- a/packages/reqresp/src/types.ts +++ b/packages/reqresp/src/types.ts @@ -47,9 +47,7 @@ export interface InboundRateLimitQuota { // `protocolPrefix` is added runtime so not part of definition export interface ProtocolDefinition extends Omit { handler: ReqRespHandler; - // eslint-disable-next-line @typescript-eslint/no-explicit-any requestType: (fork: ForkName) => TypeSerializer | null; - // eslint-disable-next-line @typescript-eslint/no-explicit-any responseType: (fork: ForkName) => TypeSerializer; ignoreResponse?: boolean; renderRequestBody?: (request: Req) => string; diff --git a/packages/spec-test-util/src/sszGeneric.ts b/packages/spec-test-util/src/sszGeneric.ts index 5e484f08da44..d62e4df42793 100644 --- a/packages/spec-test-util/src/sszGeneric.ts +++ b/packages/spec-test-util/src/sszGeneric.ts @@ -3,10 +3,7 @@ import fs from "node:fs"; import {uncompress} from "snappyjs"; import {loadYaml} from "@lodestar/utils"; -/* eslint-disable - @typescript-eslint/explicit-module-boundary-types, - @typescript-eslint/explicit-function-return-type -*/ +/* eslint-disable @typescript-eslint/explicit-function-return-type */ export type ValidTestCaseData = { root: string; diff --git a/packages/spec-test-util/test/e2e/single/index.test.ts b/packages/spec-test-util/test/e2e/single/index.test.ts index b3f5a240aceb..c3cebb6ef493 100644 --- a/packages/spec-test-util/test/e2e/single/index.test.ts +++ b/packages/spec-test-util/test/e2e/single/index.test.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-unsafe-member-access */ import {unlinkSync, writeFileSync} from "node:fs"; import path, {join} from "node:path"; import {fileURLToPath} from "node:url"; diff --git a/packages/state-transition/src/cache/epochContext.ts b/packages/state-transition/src/cache/epochContext.ts index b8ec6255bc8c..5da77a27edc7 100644 --- a/packages/state-transition/src/cache/epochContext.ts +++ b/packages/state-transition/src/cache/epochContext.ts @@ -645,8 +645,6 @@ export class EpochContext { for (let j = 0, committeeLength = slotCommittees[i].length; j < committeeLength; j++) { const validatorIndex = slotCommittees[i][j]; if (requestedValidatorIndicesSet.has(validatorIndex)) { - // no-non-null-assertion: We know that if index is in set there must exist an entry in the map - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion duties.set(validatorIndex, { validatorIndex, committeeLength, diff --git a/packages/state-transition/src/cache/epochProcess.ts b/packages/state-transition/src/cache/epochProcess.ts index 0cb5b6446999..4ca9bcae75fe 100644 --- a/packages/state-transition/src/cache/epochProcess.ts +++ b/packages/state-transition/src/cache/epochProcess.ts @@ -19,8 +19,6 @@ import {CachedBeaconStateAllForks, CachedBeaconStateAltair, CachedBeaconStatePha import {computeBaseRewardPerIncrement} from "../util/altair.js"; import {processPendingAttestations} from "../epoch/processPendingAttestations.js"; -/* eslint-disable @typescript-eslint/naming-convention */ - export type EpochProcessOpts = { /** * Assert progressive balances the same to EpochProcess diff --git a/packages/state-transition/src/stateTransition.ts b/packages/state-transition/src/stateTransition.ts index a1f4d91308c0..8f110b771c37 100644 --- a/packages/state-transition/src/stateTransition.ts +++ b/packages/state-transition/src/stateTransition.ts @@ -1,4 +1,3 @@ -/* eslint-disable import/namespace */ import {allForks, Slot, ssz} from "@lodestar/types"; import {SLOTS_PER_EPOCH} from "@lodestar/params"; import {toHexString} from "@chainsafe/ssz"; diff --git a/packages/state-transition/test/perf/shuffle/shuffle.test.ts b/packages/state-transition/test/perf/shuffle/shuffle.test.ts index 4bd9574e06a1..fd52e319aa20 100644 --- a/packages/state-transition/test/perf/shuffle/shuffle.test.ts +++ b/packages/state-transition/test/perf/shuffle/shuffle.test.ts @@ -7,7 +7,6 @@ import {unshuffleList} from "../../../src/index.js"; // 4000000 1.5617 s 4.9690 s (x3) describe("shuffle list", () => { - // eslint-disable-next-line @typescript-eslint/naming-convention const seed = new Uint8Array([42, 32]); for (const listSize of [ diff --git a/packages/state-transition/test/perf/util.ts b/packages/state-transition/test/perf/util.ts index 6bd29f8b0d93..3b9e695e312c 100644 --- a/packages/state-transition/test/perf/util.ts +++ b/packages/state-transition/test/perf/util.ts @@ -62,7 +62,7 @@ const secretKeyByModIndex = new Map(); const epoch = 23638; export const perfStateEpoch = epoch; -// eslint-disable-next-line @typescript-eslint/explicit-function-return-type, @typescript-eslint/explicit-module-boundary-types +// eslint-disable-next-line @typescript-eslint/explicit-function-return-type export function getPubkeys(vc = numValidators) { const pubkeysMod = interopPubkeysCached(keypairsMod); const pubkeysModObj = pubkeysMod.map((pk) => bls.PublicKey.fromBytes(pk, CoordType.jacobian)); diff --git a/packages/types/src/utils/StringType.ts b/packages/types/src/utils/StringType.ts index ec9604c360d2..b3ef4f2f1f18 100644 --- a/packages/types/src/utils/StringType.ts +++ b/packages/types/src/utils/StringType.ts @@ -1,7 +1,5 @@ import {BasicType} from "@chainsafe/ssz"; -/* eslint-disable @typescript-eslint/naming-convention */ - export class StringType extends BasicType { readonly typeName = "string"; byteLength = 0; diff --git a/packages/types/test/unit/constants.test.ts b/packages/types/test/unit/constants.test.ts index 48051c36f566..d637eb72232c 100644 --- a/packages/types/test/unit/constants.test.ts +++ b/packages/types/test/unit/constants.test.ts @@ -2,8 +2,6 @@ import {expect} from "chai"; import * as constants from "@lodestar/params"; import {ssz} from "../../src/index.js"; -/* eslint-disable @typescript-eslint/naming-convention */ - // NOTE: This test is here and not in lodestar-params, to prevent lodestar-params depending on SSZ // Since lodestar-params and lodestar-types are in the same mono-repo, running this test here is enough // guarantee that these constants are correct. diff --git a/packages/utils/src/logger/format.ts b/packages/utils/src/logger/format.ts index 3671c5d184b9..2f5ad7dac429 100644 --- a/packages/utils/src/logger/format.ts +++ b/packages/utils/src/logger/format.ts @@ -58,7 +58,6 @@ function formatTimestamp(opts: ILoggerOptions): Format { function jsonLogFormat(opts: ILoggerOptions): Format { return format.combine( ...(opts.hideTimestamp ? [] : [format.timestamp()]), - // eslint-disable-next-line @typescript-eslint/naming-convention format((_info) => { const info = _info as IWinstonInfoArg; info.context = logCtxToJson(info.context); @@ -72,7 +71,7 @@ function jsonLogFormat(opts: ILoggerOptions): Format { /** * Winston template function print a human readable string given a log object */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/naming-convention +// eslint-disable-next-line @typescript-eslint/no-explicit-any function humanReadableTemplateFn(_info: {[key: string]: any; level: string; message: string}): string { const info = _info as IWinstonInfoArg; diff --git a/packages/validator/src/metrics.ts b/packages/validator/src/metrics.ts index 98fd9da4f600..5c976dcbc090 100644 --- a/packages/validator/src/metrics.ts +++ b/packages/validator/src/metrics.ts @@ -83,7 +83,7 @@ export type LodestarGitData = { /** * A collection of metrics used throughout the Gossipsub behaviour. */ -// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type +// eslint-disable-next-line @typescript-eslint/explicit-function-return-type export function getMetrics(register: MetricsRegister, gitData: LodestarGitData) { // Using function style instead of class to prevent having to re-declare all MetricsPrometheus types. diff --git a/packages/validator/src/slashingProtection/attestation/attestationLowerBoundRepository.ts b/packages/validator/src/slashingProtection/attestation/attestationLowerBoundRepository.ts index 1b89f76036b3..6de901e470c4 100644 --- a/packages/validator/src/slashingProtection/attestation/attestationLowerBoundRepository.ts +++ b/packages/validator/src/slashingProtection/attestation/attestationLowerBoundRepository.ts @@ -4,7 +4,6 @@ import {ContainerType, Type} from "@chainsafe/ssz"; import {LodestarValidatorDatabaseController} from "../../types.js"; // Only used locally here -// eslint-disable-next-line @typescript-eslint/naming-convention export interface SlashingProtectionLowerBound { minSourceEpoch: Epoch; minTargetEpoch: Epoch; diff --git a/packages/validator/src/slashingProtection/types.ts b/packages/validator/src/slashingProtection/types.ts index 584c66e665d4..03e3b850d7b0 100644 --- a/packages/validator/src/slashingProtection/types.ts +++ b/packages/validator/src/slashingProtection/types.ts @@ -1,7 +1,5 @@ import {Epoch, Root, Slot} from "@lodestar/types"; -/* eslint-disable @typescript-eslint/naming-convention */ - export interface SlashingProtectionBlock { slot: Slot; signingRoot: Root; diff --git a/packages/validator/test/e2e/web3signer.test.ts b/packages/validator/test/e2e/web3signer.test.ts index 98de9a37bb7c..3a37d30cca15 100644 --- a/packages/validator/test/e2e/web3signer.test.ts +++ b/packages/validator/test/e2e/web3signer.test.ts @@ -19,7 +19,7 @@ import {testLogger} from "../utils/logger.js"; const web3signerVersion = "22.8.1"; -/* eslint-disable no-console, @typescript-eslint/naming-convention */ +/* eslint-disable no-console */ describe("web3signer signature test", function () { this.timeout("60s"); diff --git a/packages/validator/test/spec/index.test.ts b/packages/validator/test/spec/index.test.ts index 7beeeae1c5cc..8c97e4b3d843 100644 --- a/packages/validator/test/spec/index.test.ts +++ b/packages/validator/test/spec/index.test.ts @@ -10,8 +10,6 @@ import { InvalidAttestationError, } from "../../src/slashingProtection/index.js"; -/* eslint-disable no-console */ - describe("slashing-protection custom tests", () => { const dbLocation = "./.__testdb_2"; const controller = new LevelDbController({name: dbLocation}, {}); diff --git a/packages/validator/test/spec/spec.test.ts b/packages/validator/test/spec/spec.test.ts index 02783a5a3500..343870a5d488 100644 --- a/packages/validator/test/spec/spec.test.ts +++ b/packages/validator/test/spec/spec.test.ts @@ -16,8 +16,6 @@ import { import {loadTestCases} from "../utils/spec.js"; import {SPEC_TEST_LOCATION} from "./params.js"; -/* eslint-disable no-console */ - describe("slashing-protection-interchange-tests", () => { const testCases = loadTestCases(path.join(SPEC_TEST_LOCATION, "/tests/generated")); const dbLocation = "./.__testdb";