/** * UDS server for AVM CDB requests. * * Transport (socket, framing, per-connection response ordering) is handled by the shared * `UdsIpcServer` from `@aztec-foundation/ipc-runtime`; message dispatch comes from the generated CDB * server. This class only implements the generated handler interface and routes requests to * PublicContractsDB instances by fork ID. */ import { type CdbAddContracts, type CdbAddContractsResponse, type CdbCommitCheckpoint, type CdbCommitCheckpointResponse, type CdbCreateCheckpoint, type CdbCreateCheckpointResponse, type CdbGetBytecodeCommitment, type CdbGetBytecodeCommitmentResponse, type CdbGetContractClass, type CdbGetContractClassResponse, type CdbGetContractInstance, type CdbGetContractInstanceResponse, type CdbGetDebugFunctionName, type CdbGetDebugFunctionNameResponse, type Handler as CdbHandler, type CdbRevertCheckpoint, type CdbRevertCheckpointResponse } from '@aztec-foundation/cdb'; import { type ContractInstanceWithAddress } from '@aztec-labs/stdlib/contract'; import type { PublicContractsDB } from './public_db_sources.js'; /** Serializes contract instances to the AVM CDB wire shape. */ export declare function serializeContractInstance(instance: ContractInstanceWithAddress): Record; /** Routes AVM CDB IPC requests to registered PublicContractsDB forks. */ export declare class CdbIpcServer implements CdbHandler { readonly ipcPath: string; private server; private log; /** Maps WSDB fork IDs to contracts DB/timestamp pairs for concurrent simulations. */ private forks; constructor(); /** Register a PublicContractsDB for a given WSDB fork ID. */ registerFork(forkId: number, contractsDB: PublicContractsDB, timestamp: bigint): void; /** Unregister a fork's contracts DB (call after simulation completes). */ unregisterFork(forkId: number): void; /** Close the server and all active connections. */ close(): Promise; [Symbol.asyncDispose](): Promise; /** Look up the contracts DB for a given fork ID, throwing if not registered. */ private getFork; getContractInstance(command: CdbGetContractInstance): Promise; getContractClass(command: CdbGetContractClass): Promise; getBytecodeCommitment(command: CdbGetBytecodeCommitment): Promise; getDebugFunctionName(command: CdbGetDebugFunctionName): Promise; addContracts(command: CdbAddContracts): Promise; createCheckpoint(command: CdbCreateCheckpoint): Promise; commitCheckpoint(command: CdbCommitCheckpoint): Promise; revertCheckpoint(command: CdbRevertCheckpoint): Promise; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RiX2lwY19zZXJ2ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvY2RiX2lwY19zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUNILE9BQU8sRUFDTCxLQUFLLGVBQWUsRUFDcEIsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSyxtQkFBbUIsRUFDeEIsS0FBSywyQkFBMkIsRUFDaEMsS0FBSyxtQkFBbUIsRUFDeEIsS0FBSywyQkFBMkIsRUFDaEMsS0FBSyx3QkFBd0IsRUFDN0IsS0FBSyxnQ0FBZ0MsRUFDckMsS0FBSyxtQkFBbUIsRUFDeEIsS0FBSywyQkFBMkIsRUFDaEMsS0FBSyxzQkFBc0IsRUFDM0IsS0FBSyw4QkFBOEIsRUFDbkMsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSywrQkFBK0IsRUFDcEMsS0FBSyxPQUFPLElBQUksVUFBVSxFQUMxQixLQUFLLG1CQUFtQixFQUN4QixLQUFLLDJCQUEyQixFQUVqQyxNQUFNLHVCQUF1QixDQUFDO0FBTy9CLE9BQU8sRUFBMEIsS0FBSywyQkFBMkIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBT3ZHLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFXaEUsK0RBQStEO0FBQy9ELHdCQUFnQix5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsMkJBQTJCLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FvQnhHO0FBaUJELHlFQUF5RTtBQUN6RSxxQkFBYSxZQUFhLFlBQVcsVUFBVTtJQUM3QyxTQUFnQixPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hDLE9BQU8sQ0FBQyxNQUFNLENBQXdCO0lBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQVM7SUFDcEIscUZBQXFGO0lBQ3JGLE9BQU8sQ0FBQyxLQUFLLENBQW1FO0lBRWhGLGNBVUM7SUFFRCw2REFBNkQ7SUFDN0QsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUVwRjtJQUVELDBFQUEwRTtJQUMxRSxjQUFjLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxJQUFJLENBRW5DO0lBRUQsbURBQW1EO0lBQzdDLEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRzNCO0lBRUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUUzQztJQUVELGdGQUFnRjtJQUNoRixPQUFPLENBQUMsT0FBTztJQVdULG1CQUFtQixDQUFDLE9BQU8sRUFBRSxzQkFBc0IsR0FBRyxPQUFPLENBQUMsOEJBQThCLENBQUMsQ0FLbEc7SUFFSyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBS3pGO0lBRUsscUJBQXFCLENBQUMsT0FBTyxFQUFFLHdCQUF3QixHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUt4RztJQUVLLG9CQUFvQixDQUFDLE9BQU8sRUFBRSx1QkFBdUIsR0FBRyxPQUFPLENBQUMsK0JBQStCLENBQUMsQ0FPckc7SUFFRCxZQUFZLENBQUMsT0FBTyxFQUFFLGVBQWUsR0FBRyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FPdkU7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBSW5GO0lBRUQsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLG1CQUFtQixHQUFHLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUluRjtJQUVELGdCQUFnQixDQUFDLE9BQU8sRUFBRSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FJbkY7Q0FDRiJ9