import { IEVMTransaction } from '@dynamic-labs/types'; export type IPublicClient = { estimateGas: (transaction: IEVMTransaction) => Promise; getBlock: () => Promise<{ baseFeePerGas?: bigint; }>; getL1GasPrice?: () => Promise<{ l1BaseFee: bigint; }>; getL1FeeData?: () => Promise<{ l1GasUsed: bigint; l1FeeScalar: number; }>; getBytecode: (args: { address: `0x${string}`; }) => Promise<`0x${string}` | undefined>; readContract: (args: { abi: readonly unknown[]; address: `0x${string}`; args: unknown[]; functionName: string; }) => Promise; getGasPrice: () => Promise; }; export type IEthereumConnector = { getPublicClient: () => Promise; };