/** * Viem adapter — wraps viem WalletClient/PublicClient into the SDK's abstract interfaces. * * viem is an optional peerDependency and a devDependency (for type-checking). * This module is only executed at runtime by code importing from "@opensea/sdk/viem", * which requires viem to be installed. */ import { type PublicClient, type WalletClient } from "viem"; import type { ContractCaller, OpenSeaWallet } from "./types"; export interface ViemAdapterParams { publicClient: PublicClient; walletClient?: WalletClient; /** * Explicit RPC URL for seaport-js (which requires an ethers provider internally). * If not provided, the SDK attempts to extract the URL from the publicClient's * HTTP transport. Required when using non-HTTP transports (WebSocket, custom). */ rpcUrl?: string; } /** * Creates an OpenSeaWallet from viem clients. */ export declare function createViemWallet(params: ViemAdapterParams): OpenSeaWallet; /** * Creates a ContractCaller using viem clients. */ export declare function createViemContractCaller(params: ViemAdapterParams): ContractCaller;