import type { EventManager } from "../handlers/index.js"; import type { MempoolStore } from "../store/index.js"; import { type Address, type InterfaceValidator, type RejectedUserOp, type StorageMap, type UserOpInfo, type UserOperation, type UserOperationBundle } from "../types/index.js"; import type { Metrics } from "../utils/index.js"; import { type Hex } from "viem"; import type { AltoConfig } from "../createConfig.js"; import { type InterfaceReputationManager } from "./reputationManager.js"; import type { StatusManager } from "./statusManager.js"; export declare class Mempool { private readonly config; private readonly metrics; private readonly statusManager; private readonly reputationManager; private readonly throttledEntityBundleCount; private readonly logger; private readonly validator; private readonly eventManager; private isShuttingDown; store: MempoolStore; constructor({ config, metrics, statusManager, reputationManager, validator, store, eventManager }: { config: AltoConfig; metrics: Metrics; statusManager: StatusManager; reputationManager: InterfaceReputationManager; validator: InterfaceValidator; store: MempoolStore; eventManager: EventManager; }); markUserOpsAsSubmitted({ userOps, transactionHash }: { userOps: UserOpInfo[]; transactionHash: Hex; }): Promise; resubmitUserOps({ userOps, entryPoint, reason }: { userOps: UserOpInfo[]; entryPoint: Address; reason: string; }): Promise; dropUserOps(entryPoint: Address, rejectedUserOps: RejectedUserOp[]): Promise; removeProcessing({ userOps, entryPoint }: { userOps: UserOpInfo[]; entryPoint: Address; }): Promise; dumpOutstanding(entryPoint: Address): Promise; flushProcessing(entryPoint: Address): Promise; startShutdown(): void; checkEntityMultipleRoleViolation(entryPoint: Address, op: UserOperation): Promise; getKnownEntities(entryPoint: Address): Promise<{ sender: Set
; paymasters: Set
; factories: Set
; }>; add({ userOpInfo, entryPoint }: { userOpInfo: UserOpInfo; entryPoint: Address; }): Promise<[boolean, string]>; shouldSkip({ userOpInfo, paymasterDeposit, touchedEip7702Auth, stakedEntityCount, knownEntities, senders, storageMap, entryPoint }: { userOpInfo: UserOpInfo; paymasterDeposit: { [paymaster: string]: bigint; }; touchedEip7702Auth: Map; stakedEntityCount: { [addr: string]: number; }; knownEntities: { sender: Set<`0x${string}`>; paymasters: Set<`0x${string}`>; factories: Set<`0x${string}`>; }; senders: Set; storageMap: StorageMap; entryPoint: Address; }): Promise<{ skip: boolean; removeOutstanding?: boolean; paymasterDeposit: { [paymaster: string]: bigint; }; touchedEip7702Auth: Map; stakedEntityCount: { [addr: string]: number; }; knownEntities: { sender: Set<`0x${string}`>; paymasters: Set<`0x${string}`>; factories: Set<`0x${string}`>; }; senders: Set; storageMap: StorageMap; }>; getBundles(maxBundleCount?: number): Promise; process({ maxGasLimit, entryPoint, maxBundleCount }: { maxGasLimit: bigint; entryPoint: Address; maxBundleCount?: number; }): Promise; clearProcessing(): Promise; clear(): void; getQueuedOutstandingUserOps(args: { userOp: UserOperation; entryPoint: Address; }): Promise<({ sender: `0x${string}`; nonce: bigint; initCode: `0x${string}`; paymasterAndData: `0x${string}`; callData: `0x${string}`; callGasLimit: bigint; verificationGasLimit: bigint; preVerificationGas: bigint; maxFeePerGas: bigint; maxPriorityFeePerGas: bigint; signature: `0x${string}`; eip7702Auth?: { nonce: number; contractAddress: `0x${string}`; chainId: number; r: `0x${string}`; s: `0x${string}`; yParity: number; v?: bigint | undefined; } | { address: `0x${string}`; nonce: number; chainId: number; r: `0x${string}`; s: `0x${string}`; yParity: number; v?: bigint | undefined; } | null | undefined; } | { sender: `0x${string}`; factory: `0x${string}` | null; paymaster: `0x${string}` | null; nonce: bigint; callData: `0x${string}`; callGasLimit: bigint; verificationGasLimit: bigint; preVerificationGas: bigint; maxFeePerGas: bigint; maxPriorityFeePerGas: bigint; signature: `0x${string}`; paymasterVerificationGasLimit: bigint | null; paymasterPostOpGasLimit: bigint | null; factoryData: `0x${string}` | null; paymasterData: `0x${string}` | null; eip7702Auth?: { nonce: number; contractAddress: `0x${string}`; chainId: number; r: `0x${string}`; s: `0x${string}`; yParity: number; v?: bigint | undefined; } | { address: `0x${string}`; nonce: number; chainId: number; r: `0x${string}`; s: `0x${string}`; yParity: number; v?: bigint | undefined; } | null | undefined; } | { sender: `0x${string}`; factory: `0x${string}` | null; paymaster: `0x${string}` | null; nonce: bigint; callData: `0x${string}`; callGasLimit: bigint; verificationGasLimit: bigint; preVerificationGas: bigint; maxFeePerGas: bigint; maxPriorityFeePerGas: bigint; signature: `0x${string}`; paymasterVerificationGasLimit: bigint | null; paymasterPostOpGasLimit: bigint | null; factoryData: `0x${string}` | null; paymasterData: `0x${string}` | null; eip7702Auth?: { nonce: number; contractAddress: `0x${string}`; chainId: number; r: `0x${string}`; s: `0x${string}`; yParity: number; v?: bigint | undefined; } | { address: `0x${string}`; nonce: number; chainId: number; r: `0x${string}`; s: `0x${string}`; yParity: number; v?: bigint | undefined; } | null | undefined; } | { sender: `0x${string}`; factory: `0x${string}` | null; paymaster: `0x${string}` | null; nonce: bigint; callData: `0x${string}`; callGasLimit: bigint; verificationGasLimit: bigint; preVerificationGas: bigint; maxFeePerGas: bigint; maxPriorityFeePerGas: bigint; signature: `0x${string}`; paymasterVerificationGasLimit: bigint | null; paymasterPostOpGasLimit: bigint | null; factoryData: `0x${string}` | null; paymasterData: `0x${string}` | null; paymasterSignature: `0x${string}` | null; eip7702Auth?: { nonce: number; contractAddress: `0x${string}`; chainId: number; r: `0x${string}`; s: `0x${string}`; yParity: number; v?: bigint | undefined; } | { address: `0x${string}`; nonce: number; chainId: number; r: `0x${string}`; s: `0x${string}`; yParity: number; v?: bigint | undefined; } | null | undefined; })[]>; } //# sourceMappingURL=mempool.d.ts.map