import type { EthAddress } from '@aztec/foundation/eth-address'; import { z } from 'zod'; export type SlasherClientType = 'empire' | 'tally'; export interface SlasherConfig { slashOverridePayload?: EthAddress; slashMinPenaltyPercentage: number; slashMaxPenaltyPercentage: number; slashSelfAllowed?: boolean; slashValidatorsAlways: EthAddress[]; slashValidatorsNever: EthAddress[]; slashInactivityTargetPercentage: number; slashInactivityConsecutiveEpochThreshold: number; slashPrunePenalty: bigint; slashDataWithholdingPenalty: bigint; slashInactivityPenalty: bigint; slashBroadcastedInvalidBlockPenalty: bigint; slashDuplicateProposalPenalty: bigint; slashDuplicateAttestationPenalty: bigint; slashProposeInvalidAttestationsPenalty: bigint; slashAttestDescendantOfInvalidPenalty: bigint; slashUnknownPenalty: bigint; slashOffenseExpirationRounds: number; slashMaxPayloadSize: number; slashGracePeriodL2Slots: number; slashExecuteRoundsLookBack: number; } export declare const SlasherConfigSchema: z.ZodObject<{ slashOverridePayload: z.ZodOptional>; slashMinPenaltyPercentage: z.ZodNumber; slashMaxPenaltyPercentage: z.ZodNumber; slashValidatorsAlways: z.ZodArray, "many">; slashValidatorsNever: z.ZodArray, "many">; slashPrunePenalty: z.ZodPipeline, z.ZodBigInt>; slashDataWithholdingPenalty: z.ZodPipeline, z.ZodBigInt>; slashInactivityTargetPercentage: z.ZodNumber; slashInactivityConsecutiveEpochThreshold: z.ZodNumber; slashInactivityPenalty: z.ZodPipeline, z.ZodBigInt>; slashProposeInvalidAttestationsPenalty: z.ZodPipeline, z.ZodBigInt>; slashDuplicateProposalPenalty: z.ZodPipeline, z.ZodBigInt>; slashDuplicateAttestationPenalty: z.ZodPipeline, z.ZodBigInt>; slashAttestDescendantOfInvalidPenalty: z.ZodPipeline, z.ZodBigInt>; slashUnknownPenalty: z.ZodPipeline, z.ZodBigInt>; slashOffenseExpirationRounds: z.ZodNumber; slashMaxPayloadSize: z.ZodNumber; slashGracePeriodL2Slots: z.ZodNumber; slashBroadcastedInvalidBlockPenalty: z.ZodPipeline, z.ZodBigInt>; slashExecuteRoundsLookBack: z.ZodNumber; slashSelfAllowed: z.ZodOptional; }, "strip", z.ZodTypeAny, { slashOverridePayload?: EthAddress | undefined; slashMinPenaltyPercentage: number; slashMaxPenaltyPercentage: number; slashValidatorsAlways: EthAddress[]; slashValidatorsNever: EthAddress[]; slashPrunePenalty: bigint; slashDataWithholdingPenalty: bigint; slashInactivityTargetPercentage: number; slashInactivityConsecutiveEpochThreshold: number; slashInactivityPenalty: bigint; slashProposeInvalidAttestationsPenalty: bigint; slashDuplicateProposalPenalty: bigint; slashDuplicateAttestationPenalty: bigint; slashAttestDescendantOfInvalidPenalty: bigint; slashUnknownPenalty: bigint; slashOffenseExpirationRounds: number; slashMaxPayloadSize: number; slashGracePeriodL2Slots: number; slashBroadcastedInvalidBlockPenalty: bigint; slashExecuteRoundsLookBack: number; slashSelfAllowed?: boolean | undefined; }, { slashOverridePayload?: string | undefined; slashMinPenaltyPercentage: number; slashMaxPenaltyPercentage: number; slashValidatorsAlways: string[]; slashValidatorsNever: string[]; slashPrunePenalty: string | number | bigint; slashDataWithholdingPenalty: string | number | bigint; slashInactivityTargetPercentage: number; slashInactivityConsecutiveEpochThreshold: number; slashInactivityPenalty: string | number | bigint; slashProposeInvalidAttestationsPenalty: string | number | bigint; slashDuplicateProposalPenalty: string | number | bigint; slashDuplicateAttestationPenalty: string | number | bigint; slashAttestDescendantOfInvalidPenalty: string | number | bigint; slashUnknownPenalty: string | number | bigint; slashOffenseExpirationRounds: number; slashMaxPayloadSize: number; slashGracePeriodL2Slots: number; slashBroadcastedInvalidBlockPenalty: string | number | bigint; slashExecuteRoundsLookBack: number; slashSelfAllowed?: boolean | undefined; }>; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhc2hlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvc2xhc2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUdoRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxRQUFRLEdBQUcsT0FBTyxDQUFDO0FBRW5ELE1BQU0sV0FBVyxhQUFhO0lBQzVCLG9CQUFvQixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2xDLHlCQUF5QixFQUFFLE1BQU0sQ0FBQztJQUNsQyx5QkFBeUIsRUFBRSxNQUFNLENBQUM7SUFDbEMsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDM0IscUJBQXFCLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDcEMsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDbkMsK0JBQStCLEVBQUUsTUFBTSxDQUFDO0lBQ3hDLHdDQUF3QyxFQUFFLE1BQU0sQ0FBQztJQUNqRCxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsMkJBQTJCLEVBQUUsTUFBTSxDQUFDO0lBQ3BDLHNCQUFzQixFQUFFLE1BQU0sQ0FBQztJQUMvQixtQ0FBbUMsRUFBRSxNQUFNLENBQUM7SUFDNUMsNkJBQTZCLEVBQUUsTUFBTSxDQUFDO0lBQ3RDLGdDQUFnQyxFQUFFLE1BQU0sQ0FBQztJQUN6QyxzQ0FBc0MsRUFBRSxNQUFNLENBQUM7SUFDL0MscUNBQXFDLEVBQUUsTUFBTSxDQUFDO0lBQzlDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQztJQUM1Qiw0QkFBNEIsRUFBRSxNQUFNLENBQUM7SUFDckMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO0lBQzVCLHVCQUF1QixFQUFFLE1BQU0sQ0FBQztJQUNoQywwQkFBMEIsRUFBRSxNQUFNLENBQUM7Q0FDcEM7QUFFRCxlQUFPLE1BQU0sbUJBQW1COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF3Qi9CLENBQUMifQ==