import type { Offense, OffenseIdentifier, SlashPayload, SlashPayloadRound, ValidatorSlash } from './types.js'; import { OffenseType } from './types.js'; /** * Returns true if the offense is uncontroversial as in it can be verified via L1 data alone, * and does not depend on the local view of the node of the L2 p2p network. * @param offense - The offense type to check */ export declare function isOffenseUncontroversial(offense: OffenseType): boolean; /** Extracts offense identifiers (validator, epoch, offense type) from an Empire-based SlashPayload */ export declare function getOffenseIdentifiersFromPayload(payload: SlashPayload | SlashPayloadRound): OffenseIdentifier[]; /** Creates ValidatorSlashes used to create an Empire-based SlashPayload from a set of Offenses */ export declare function offensesToValidatorSlash(offenses: Offense[]): ValidatorSlash[]; /** * Sorts offense data by: * - Uncontroversial offenses first * - Slash amount (descending) * - Epoch or slot (ascending, ie oldest first) * - Validator address (ascending) * - Offense type (descending) */ export declare function offenseDataComparator(a: Offense, b: Offense): number; /** * Returns the first round in which the offense is eligible for being included in an Empire-based slash payload. * Should be equal to to the first round that starts strictly after the offense becomes detectable. */ export declare function getFirstEligibleRoundForOffense(offense: OffenseIdentifier, constants: { slashingRoundSize: number; epochDuration: number; proofSubmissionEpochs: number; }): bigint; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xhc2hpbmcvZW1waXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFekM7Ozs7R0FJRztBQUNILHdCQUFnQix3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FNdEU7QUFFRCxzR0FBc0c7QUFDdEcsd0JBQWdCLGdDQUFnQyxDQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUcsaUJBQWlCLEdBQUcsaUJBQWlCLEVBQUUsQ0FRL0c7QUFFRCxrR0FBa0c7QUFDbEcsd0JBQWdCLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FNOUU7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLHFCQUFxQixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sR0FBRyxNQUFNLENBUXBFO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLCtCQUErQixDQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQzFCLFNBQVMsRUFBRTtJQUFFLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUM3RixNQUFNLENBdUNSIn0=