import { Abi, ExtractAbiFunctionNames, ExtractAbiFunction, AbiParametersToPrimitiveTypes } from "abitype"; import { Hex, Address, RpcStateOverride } from "viem"; import * as EntryPoint from "../../entryPoint"; export type SetFactoryDataFunc = (salt: bigint, encoder: >(method: M, inputs: AbiParametersToPrimitiveTypes["inputs"]>) => Hex) => Promise; export type RequestSignatureFunc = (type: "dummy" | "final", message: Hex) => Promise; export type RequestGasPriceFunc = () => Promise>; export type RequestGasValuesFunc = (userop: EntryPoint.UserOperation, entryPoint: Address, stateOverrideSet?: RpcStateOverride) => Promise>; export type RequestPaymasterFunc = (userop: EntryPoint.UserOperation, entryPoint: Address) => Promise & Partial>; export type OnBuildFunc = (userop: EntryPoint.UserOperation) => void;