import {BLSPubkey, Epoch} from "@lodestar/types"; export type MinMaxSurroundAttestation = { targetEpoch: number; sourceEpoch: number; }; export interface IMinMaxSurround { assertNoSurround(pubKey: BLSPubkey, attestation: MinMaxSurroundAttestation): Promise; insertAttestation(pubKey: BLSPubkey, attestation: MinMaxSurroundAttestation): Promise; } export interface IDistanceEntry { source: Epoch; distance: Epoch; } export type IDistanceStore = { [P in "minSpan" | "maxSpan"]: { get(pubKey: BLSPubkey, epoch: Epoch): Promise; setBatch(pubKey: BLSPubkey, values: IDistanceEntry[]): Promise; }; };