diff --git a/packages/validator/src/services/doppelgangerService.ts b/packages/validator/src/services/doppelgangerService.ts index 6df0b27fcebf..2c6d81325a8c 100644 --- a/packages/validator/src/services/doppelgangerService.ts +++ b/packages/validator/src/services/doppelgangerService.ts @@ -71,6 +71,10 @@ export class DoppelgangerService { }); } + unregisterValidator(pubkeyHex: PubkeyHex): void { + this.doppelgangerStateByPubkey.delete(pubkeyHex); + } + getStatus(pubKeyHex: PubkeyHex): DoppelgangerStatus { return getStatus(this.doppelgangerStateByPubkey.get(pubKeyHex)); } diff --git a/packages/validator/src/services/validatorStore.ts b/packages/validator/src/services/validatorStore.ts index 15873c9c61ac..729c6dfa4fc4 100644 --- a/packages/validator/src/services/validatorStore.ts +++ b/packages/validator/src/services/validatorStore.ts @@ -151,6 +151,8 @@ export class ValidatorStore { } removeSigner(pubkeyHex: PubkeyHex): boolean { + this.doppelgangerService?.unregisterValidator(pubkeyHex); + return this.indicesService.removeForKey(pubkeyHex) || this.validators.delete(pubkeyHex); } diff --git a/packages/validator/src/validator.ts b/packages/validator/src/validator.ts index 3712c2fc838a..15fd5a5858c0 100644 --- a/packages/validator/src/validator.ts +++ b/packages/validator/src/validator.ts @@ -206,7 +206,6 @@ export class Validator { } removeDutiesForKey(pubkey: PubkeyHex): void { - this.validatorStore.removeSigner(pubkey); this.blockProposingService.removeDutiesForKey(pubkey); this.attestationService.removeDutiesForKey(pubkey); this.syncCommitteeService.removeDutiesForKey(pubkey);