From 9e0cb9980ff3339b3a508c9888cced8d687413be Mon Sep 17 00:00:00 2001 From: Tuyen Nguyen Date: Tue, 26 Mar 2024 11:09:49 +0700 Subject: [PATCH] chore: refactor DLLAttnetsService to AttnetsService --- packages/beacon-node/src/network/core/metrics.ts | 6 +++--- .../beacon-node/src/network/core/networkCore.ts | 6 +++--- .../{dllAttnetsService.ts => attnetsService.ts} | 16 ++++++++-------- ...etsService.test.ts => attnetsService.test.ts} | 8 ++++---- 4 files changed, 18 insertions(+), 18 deletions(-) rename packages/beacon-node/src/network/subnets/{dllAttnetsService.ts => attnetsService.ts} (97%) rename packages/beacon-node/test/unit/network/subnets/{dllAttnetsService.test.ts => attnetsService.test.ts} (96%) diff --git a/packages/beacon-node/src/network/core/metrics.ts b/packages/beacon-node/src/network/core/metrics.ts index 9f31786af903..a8a046610276 100644 --- a/packages/beacon-node/src/network/core/metrics.ts +++ b/packages/beacon-node/src/network/core/metrics.ts @@ -1,7 +1,7 @@ import {RegistryMetricCreator} from "../../metrics/utils/registryMetricCreator.js"; import {SubnetType} from "../metadata.js"; import {DiscoveredPeerStatus} from "../peers/discover.js"; -import {DLLSubnetSource} from "../subnets/dllAttnetsService.js"; +import {SubnetSource} from "../subnets/attnetsService.js"; export type NetworkCoreMetrics = ReturnType; @@ -213,12 +213,12 @@ export function createNetworkCoreMetrics(register: RegistryMetricCreator) { name: "lodestar_attnets_service_long_lived_subscriptions_total", help: "Count of long lived subscriptions", }), - subscribeSubnets: register.gauge<{subnet: number; src: DLLSubnetSource}>({ + subscribeSubnets: register.gauge<{subnet: number; src: SubnetSource}>({ name: "lodestar_attnets_service_subscribe_subnets_total", help: "Count of subscribe_subnets calls", labelNames: ["subnet", "src"], }), - unsubscribeSubnets: register.gauge<{subnet: number; src: DLLSubnetSource}>({ + unsubscribeSubnets: register.gauge<{subnet: number; src: SubnetSource}>({ name: "lodestar_attnets_service_unsubscribe_subnets_total", help: "Count of unsubscribe_subnets calls", labelNames: ["subnet", "src"], diff --git a/packages/beacon-node/src/network/core/networkCore.ts b/packages/beacon-node/src/network/core/networkCore.ts index 983ccc4cef43..fdd2b681602f 100644 --- a/packages/beacon-node/src/network/core/networkCore.ts +++ b/packages/beacon-node/src/network/core/networkCore.ts @@ -32,7 +32,7 @@ import {Discv5Worker} from "../discv5/index.js"; import {LocalStatusCache} from "../statusCache.js"; import {RegistryMetricCreator} from "../../metrics/index.js"; import {peerIdFromString, peerIdToString} from "../../util/peerId.js"; -import {DLLAttnetsService} from "../subnets/dllAttnetsService.js"; +import {AttnetsService} from "../subnets/attnetsService.js"; import {NetworkCoreMetrics, createNetworkCoreMetrics} from "./metrics.js"; import {INetworkCore, MultiaddrStr, PeerIdStr} from "./types.js"; @@ -191,12 +191,12 @@ export class NetworkCore implements INetworkCore { await libp2p.start(); await reqResp.start(); - // should be called before DLLAttnetsService constructor so that node subscribe to deterministic attnet topics + // should be called before AttnetsService constructor so that node subscribe to deterministic attnet topics await gossip.start(); const enr = opts.discv5?.enr; const nodeId = enr ? fromHexString(ENR.decodeTxt(enr).nodeId) : null; - const attnetsService = new DLLAttnetsService(config, clock, gossip, metadata, logger, metrics, nodeId, opts); + const attnetsService = new AttnetsService(config, clock, gossip, metadata, logger, metrics, nodeId, opts); const syncnetsService = new SyncnetsService(config, clock, gossip, metadata, logger, metrics, opts); const peerManager = await PeerManager.init( diff --git a/packages/beacon-node/src/network/subnets/dllAttnetsService.ts b/packages/beacon-node/src/network/subnets/attnetsService.ts similarity index 97% rename from packages/beacon-node/src/network/subnets/dllAttnetsService.ts rename to packages/beacon-node/src/network/subnets/attnetsService.ts index 9de0bef68357..5044bac059cd 100644 --- a/packages/beacon-node/src/network/subnets/dllAttnetsService.ts +++ b/packages/beacon-node/src/network/subnets/attnetsService.ts @@ -20,7 +20,7 @@ import {computeSubscribedSubnet} from "./util.js"; const gossipType = GossipType.beacon_attestation; -export enum DLLSubnetSource { +export enum SubnetSource { committee = "committee", longLived = "long_lived", } @@ -40,7 +40,7 @@ const NOT_ABLE_TO_FORM_STABLE_MESH_SEC = -1; * - Network call addCommitteeSubscriptions() from API calls * - Gossip handler checks shouldProcess to know if validator is aggregator */ -export class DLLAttnetsService implements IAttnetsService { +export class AttnetsService implements IAttnetsService { /** Committee subnets - PeerManager must find peers for those */ private committeeSubnets = new SubnetMap(); /** @@ -179,7 +179,7 @@ export class DLLAttnetsService implements IAttnetsService { if (dutiedSlot === clockSlot + this.opts.slotsToSubscribeBeforeAggregatorDuty) { // Trigger gossip subscription first, in batch if (dutiedInfo.size > 0) { - this.subscribeToSubnets(Array.from(dutiedInfo.keys()), DLLSubnetSource.committee); + this.subscribeToSubnets(Array.from(dutiedInfo.keys()), SubnetSource.committee); } // Then, register the subscriptions for (const subnet of dutiedInfo.keys()) { @@ -276,7 +276,7 @@ export class DLLAttnetsService implements IAttnetsService { } // First, tell gossip to subscribe to the subnets if not connected already - this.subscribeToSubnets(newSubnets, DLLSubnetSource.longLived); + this.subscribeToSubnets(newSubnets, SubnetSource.longLived); // then update longLivedSubscriptions for (const subnet of toRemoveSubnets) { @@ -289,7 +289,7 @@ export class DLLAttnetsService implements IAttnetsService { } // Only tell gossip to unsubsribe last, longLivedSubscriptions has the latest state - this.unsubscribeSubnets(toRemoveSubnets, this.clock.currentSlot, DLLSubnetSource.longLived); + this.unsubscribeSubnets(toRemoveSubnets, this.clock.currentSlot, SubnetSource.longLived); this.updateMetadata(); } @@ -300,7 +300,7 @@ export class DLLAttnetsService implements IAttnetsService { private unsubscribeExpiredCommitteeSubnets(slot: Slot): void { const expired = this.shortLivedSubscriptions.getExpired(slot); if (expired.length > 0) { - this.unsubscribeSubnets(expired, slot, DLLSubnetSource.committee); + this.unsubscribeSubnets(expired, slot, SubnetSource.committee); } } @@ -333,7 +333,7 @@ export class DLLAttnetsService implements IAttnetsService { * Trigger a gossip subcription only if not already subscribed * shortLivedSubscriptions or longLivedSubscriptions should be updated right AFTER this called **/ - private subscribeToSubnets(subnets: number[], src: DLLSubnetSource): void { + private subscribeToSubnets(subnets: number[], src: SubnetSource): void { const forks = getActiveForks(this.config, this.clock.currentEpoch); for (const subnet of subnets) { if (!this.shortLivedSubscriptions.has(subnet) && !this.longLivedSubscriptions.has(subnet)) { @@ -349,7 +349,7 @@ export class DLLAttnetsService implements IAttnetsService { * Trigger a gossip un-subscription only if no-one is still subscribed * If unsubscribe long lived subnets, longLivedSubscriptions should be updated right BEFORE this called **/ - private unsubscribeSubnets(subnets: number[], slot: Slot, src: DLLSubnetSource): void { + private unsubscribeSubnets(subnets: number[], slot: Slot, src: SubnetSource): void { // No need to unsubscribeTopic(). Return early to prevent repetitive extra work if (this.opts.subscribeAllSubnets) return; diff --git a/packages/beacon-node/test/unit/network/subnets/dllAttnetsService.test.ts b/packages/beacon-node/test/unit/network/subnets/attnetsService.test.ts similarity index 96% rename from packages/beacon-node/test/unit/network/subnets/dllAttnetsService.test.ts rename to packages/beacon-node/test/unit/network/subnets/attnetsService.test.ts index 6d6e306ed646..0c7b3df98268 100644 --- a/packages/beacon-node/test/unit/network/subnets/dllAttnetsService.test.ts +++ b/packages/beacon-node/test/unit/network/subnets/attnetsService.test.ts @@ -14,12 +14,12 @@ import {Clock, IClock} from "../../../../src/util/clock.js"; import {Eth2Gossipsub} from "../../../../src/network/gossip/gossipsub.js"; import {MetadataController} from "../../../../src/network/metadata.js"; import {testLogger} from "../../../utils/logger.js"; -import {DLLAttnetsService} from "../../../../src/network/subnets/dllAttnetsService.js"; +import {AttnetsService} from "../../../../src/network/subnets/attnetsService.js"; import {CommitteeSubscription} from "../../../../src/network/subnets/interface.js"; vi.mock("../../../../src/network/gossip/gossipsub.js"); -describe("DLLAttnetsService", () => { +describe("AttnetsService", () => { const nodeId = bigIntToBytes( BigInt("88752428858350697756262172400162263450541348766581994718383409852729519486397"), 32, @@ -29,7 +29,7 @@ describe("DLLAttnetsService", () => { // eslint-disable-next-line @typescript-eslint/naming-convention const config = createBeaconConfig({ALTAIR_FORK_EPOCH}, ZERO_HASH); // const {SECONDS_PER_SLOT} = config; - let service: DLLAttnetsService; + let service: AttnetsService; let gossipStub: MockedObject; let metadata: MetadataController; @@ -52,7 +52,7 @@ describe("DLLAttnetsService", () => { // load getCurrentSlot first, vscode not able to debug without this getCurrentSlot(config, Math.floor(Date.now() / 1000)); metadata = new MetadataController({}, {config, onSetValue: () => null}); - service = new DLLAttnetsService(config, clock, gossipStub, metadata, logger, null, nodeId, { + service = new AttnetsService(config, clock, gossipStub, metadata, logger, null, nodeId, { slotsToSubscribeBeforeAggregatorDuty: 2, }); });