import { EthAddress } from '@aztec/foundation/eth-address'; import { type Logger } from '@aztec/foundation/log'; import type { PartialBy } from '@aztec/foundation/types'; import type { Offense, ValidatorSlashVote } from './types.js'; /** * Creates a consensus-slash vote for a given set of committees based on a set of Offenses * @param offenses - Array of offenses to consider * @param committees - Array of committees (each containing array of validator addresses) * @param epochsForCommittees - Array of epochs corresponding to each committee * @param settings - Settings including slashingAmounts and optional validator override lists * @param settings.maxSlashedValidators - If set, limits the total number of [validator, epoch] pairs * with non-zero votes. The lowest-vote pairs are zeroed out to stay within the limit. * @param logger - Logger, logs which validators were dropped. * @returns Array of ValidatorSlashVote, where each vote is how many slash units the validator in that position should be slashed */ export declare function getSlashConsensusVotesFromOffenses(offenses: PartialBy[], committees: EthAddress[][], epochsForCommittees: bigint[], settings: { slashingAmounts: [bigint, bigint, bigint]; epochDuration: number; targetCommitteeSize: number; maxSlashedValidators?: number; }, logger?: Logger): ValidatorSlashVote[]; /** * Encodes a set of slash votes into a Buffer for use in a consensus slashing vote transaction. * Each vote is represented as a 2-bit value, which represents how many slashing units the validator should be slashed. * @param votes - The array of slash votes to encode * @returns A Buffer containing the encoded slash votes */ export declare function encodeSlashConsensusVotes(votes: ValidatorSlashVote[]): Buffer; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFsbHkuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbGFzaGluZy90YWxseS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3pELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU5RDs7Ozs7Ozs7OztHQVVHO0FBQ0gsd0JBQWdCLGtDQUFrQyxDQUNoRCxRQUFRLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsRUFBRSxFQUM3QyxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFDMUIsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLEVBQzdCLFFBQVEsRUFBRTtJQUNSLGVBQWUsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDMUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUN0QixtQkFBbUIsRUFBRSxNQUFNLENBQUM7SUFDNUIsb0JBQW9CLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDL0IsRUFDRCxNQUFNLEdBQUUsTUFBc0MsR0FDN0Msa0JBQWtCLEVBQUUsQ0EwRHRCO0FBZUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IseUJBQXlCLENBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFFLEdBQUcsTUFBTSxDQWU3RSJ9