import { type ConfigMappingsType } from '@aztec/foundation/config'; import { EthAddress } from '@aztec/foundation/eth-address'; import { z } from 'zod'; import type { TxHash } from '../tx/tx_hash.js'; import type { EpochProver } from './epoch-prover.js'; import type { ProvingJobConsumer } from './prover-broker.js'; export type ActualProverConfig = { /** Whether to construct real proofs */ realProofs: boolean; /** The type of artificial delay to introduce */ proverTestDelayType: 'fixed' | 'realistic'; /** If using fixed delay, the time each operation takes. */ proverTestDelayMs: number; /** If using realistic delays, what percentage of realistic times to apply. */ proverTestDelayFactor: number; /** * Whether to abort pending proving jobs when the orchestrator is cancelled. * When false (default), jobs remain in the broker queue and can be reused on restart/reorg. * When true, jobs are explicitly cancelled with the broker, which prevents reuse. */ cancelJobsOnStop: boolean; /** Max concurrent jobs the orchestrator serializes and enqueues to the broker. */ enqueueConcurrency: number; }; /** * The prover configuration. */ export type ProverConfig = ActualProverConfig & { /** The URL to the Aztec node to take proving jobs from */ nodeUrl?: string; /** Identifier of the prover */ proverId?: EthAddress; /** Number of proving agents to start within the prover. */ proverAgentCount: number; /** Where to store proving request. Must be accessible to both prover node and agents. If not set will inline-encode the parameters */ proofStore?: string; /** Store for failed proof inputs. */ failedProofStore?: string; }; export declare const ProverConfigSchema: z.ZodObject<{ nodeUrl: z.ZodOptional; realProofs: z.ZodBoolean; proverId: z.ZodOptional>; proverTestDelayType: z.ZodEnum<["fixed", "realistic"]>; proverTestDelayMs: z.ZodNumber; proverTestDelayFactor: z.ZodNumber; proverAgentCount: z.ZodNumber; proofStore: z.ZodOptional; failedProofStore: z.ZodOptional; cancelJobsOnStop: z.ZodBoolean; enqueueConcurrency: z.ZodNumber; }, "strip", z.ZodTypeAny, { nodeUrl?: string | undefined; realProofs: boolean; proverId?: EthAddress | undefined; proverTestDelayType: "fixed" | "realistic"; proverTestDelayMs: number; proverTestDelayFactor: number; proverAgentCount: number; proofStore?: string | undefined; failedProofStore?: string | undefined; cancelJobsOnStop: boolean; enqueueConcurrency: number; }, { nodeUrl?: string | undefined; realProofs: boolean; proverId?: any; proverTestDelayType: "fixed" | "realistic"; proverTestDelayMs: number; proverTestDelayFactor: number; proverAgentCount: number; proofStore?: string | undefined; failedProofStore?: string | undefined; cancelJobsOnStop: boolean; enqueueConcurrency: number; }>; export declare const proverConfigMappings: ConfigMappingsType; /** * The interface to the prover client. * Provides the ability to generate proofs and build rollups. */ export interface EpochProverManager { createEpochProver(): EpochProver; start(): Promise; stop(): Promise; getProvingJobSource(): ProvingJobConsumer; getProverId(): EthAddress; updateProverConfig(config: Partial): Promise; } export declare class BlockProofError extends Error { #private; readonly txHashes: TxHash[]; name: string; constructor(message: string, txHashes: TxHash[]); static isBlockProofError(err: any): err is BlockProofError; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLWNsaWVudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyZmFjZXMvcHJvdmVyLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxrQkFBa0IsRUFBMkMsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUd4QixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdELE1BQU0sTUFBTSxrQkFBa0IsR0FBRztJQUMvQix1Q0FBdUM7SUFDdkMsVUFBVSxFQUFFLE9BQU8sQ0FBQztJQUNwQixnREFBZ0Q7SUFDaEQsbUJBQW1CLEVBQUUsT0FBTyxHQUFHLFdBQVcsQ0FBQztJQUMzQywyREFBMkQ7SUFDM0QsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0lBQzFCLDhFQUE4RTtJQUM5RSxxQkFBcUIsRUFBRSxNQUFNLENBQUM7SUFDOUI7Ozs7T0FJRztJQUNILGdCQUFnQixFQUFFLE9BQU8sQ0FBQztJQUMxQixrRkFBa0Y7SUFDbEYsa0JBQWtCLEVBQUUsTUFBTSxDQUFDO0NBQzVCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sTUFBTSxZQUFZLEdBQUcsa0JBQWtCLEdBQUc7SUFDOUMsMERBQTBEO0lBQzFELE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNqQiwrQkFBK0I7SUFDL0IsUUFBUSxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ3RCLDJEQUEyRDtJQUMzRCxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7SUFDekIsc0lBQXNJO0lBQ3RJLFVBQVUsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNwQixxQ0FBcUM7SUFDckMsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDM0IsQ0FBQztBQUVGLGVBQU8sTUFBTSxrQkFBa0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWM5QixDQUFDO0FBRUYsZUFBTyxNQUFNLG9CQUFvQixFQUFFLGtCQUFrQixDQUFDLFlBQVksQ0F3RGpFLENBQUM7QUFTRjs7O0dBR0c7QUFDSCxNQUFNLFdBQVcsa0JBQWtCO0lBQ2pDLGlCQUFpQixJQUFJLFdBQVcsQ0FBQztJQUVqQyxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXZCLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdEIsbUJBQW1CLElBQUksa0JBQWtCLENBQUM7SUFFMUMsV0FBVyxJQUFJLFVBQVUsQ0FBQztJQUUxQixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUNsRTtBQUVELHFCQUFhLGVBQWdCLFNBQVEsS0FBSzs7YUFNdEIsUUFBUSxFQUFFLE1BQU0sRUFBRTtJQUozQixJQUFJLFNBQXlCO0lBRXRDLFlBQ0UsT0FBTyxFQUFFLE1BQU0sRUFDQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBR25DO0lBRUQsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxJQUFJLGVBQWUsQ0FFekQ7Q0FDRiJ9