export type EthRequestWithAddressParams = { method: string; params: readonly unknown[]; address: string; /** * When the address resolves to a smart wallet (e.g. a ZeroDev EIP-7702 * wallet sharing the EOA address), route the request to the underlying * EOA wallet instead. */ useEoaWallet?: boolean; /** * Chain the requesting wallet client is bound to. Used to resolve the * wallet client on the correct network when routing to the underlying * EOA wallet, which does not follow the smart wallet's network switches. */ chainId?: number; }; export type EthRequestWithChainIdParams = { method: string; params: readonly unknown[]; chainId: number; }; export type EthRequestParams = EthRequestWithAddressParams | EthRequestWithChainIdParams; /** * Messages exchanged for evm requests. */ export type EthMessages = { ethRequest(props: EthRequestParams): Promise; };