@cfxlabsinc/b2b-services
    Preparing search index...

    Type Alias EvmTimelockOperationView

    type EvmTimelockOperationView = {
        delaySeconds: number | null;
        executesAutomatically: boolean;
        hasReviewWindow: boolean;
        kind: "UPGRADE" | "DELAY";
        minDelaySeconds: number;
        operationId: string;
        readyAt: string | null;
        release: string | null;
        state: EvmTimelockOperation["state"];
        sweepFailure:
            | { status: "FAILED"
            | "EXPIRED"; walletTransactionId: string }
            | null;
    }
    Index
    delaySeconds: number | null

    The minimum delay a delay change sets; null on an upgrade.

    executesAutomatically: boolean
    hasReviewWindow: boolean
    kind: "UPGRADE" | "DELAY"
    minDelaySeconds: number
    operationId: string
    readyAt: string | null

    An ISO instant; null while UNSENT.

    release: string | null

    The release an upgrade moves to; null on a delay change.

    sweepFailure:
        | { status: "FAILED"
        | "EXPIRED"; walletTransactionId: string }
        | null

    The sweep's dead execute row for a ready upgrade, which is what opens a retry.